
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Enum "ELFOSABI": Some values do not have unique names */
/* DWARF original prototype: void relocate_section(Target_aarch64<32,_true> * this,
   Relocate_info<32,_true> * relinfo, uint sh_type, uchar * prelocs, size_t reloc_count,
   Output_section * output_section, bool needs_special_offset_handling, uchar * view, Elf_Addr
   address, section_size_type view_size, Reloc_symbol_changes * reloc_symbol_changes) */

void __thiscall
anon_unknown.dwarf_12235f4::Target_aarch64<32,_true>::relocate_section
          (Target_aarch64<32,_true> *this,Relocate_info<32,_true> *relinfo,uint sh_type,
          uchar *prelocs,size_t reloc_count,Output_section *output_section,
          bool needs_special_offset_handling,uchar *view,Elf_Addr address,
          section_size_type view_size,Reloc_symbol_changes *reloc_symbol_changes)

{
  byte bVar1;
  _func_int_varargs **pp_Var2;
  _func_int_varargs *p_Var3;
  pointer pSVar4;
  pointer ppSVar5;
  pointer ppOVar6;
  Sized_relobj_file<32,_true> *pSVar7;
  code *pcVar8;
  General_options *pGVar9;
  Output_data_plt_aarch64<32,_true> *pOVar10;
  pointer pcVar11;
  section_size_type sVar12;
  int iVar13;
  bool bVar14;
  byte bVar15;
  uint uVar16;
  Address AVar17;
  int iVar18;
  int iVar19;
  char *pcVar20;
  General_options *pGVar21;
  uint64_t uVar22;
  undefined8 uVar23;
  long lVar24;
  Relobj *pRVar25;
  Output_relaxed_input_section *pOVar26;
  char *pcVar27;
  ulong uVar28;
  byte bVar29;
  uint uVar30;
  _Alloc_hider _Var31;
  General_options *pGVar32;
  General_options *pGVar33;
  General_options *pGVar34;
  Relocate_info<32,_true> *pRVar35;
  byte *pbVar36;
  Sized_relobj_file<32,_true> *this_00;
  uint uVar37;
  Symbol_value<32> *pSVar38;
  Sized_relobj_file<32,_true> *this_01;
  bool bVar39;
  bool bVar40;
  byte bVar41;
  General_options *local_148;
  ulong local_140;
  Symbol_value<32> *local_138;
  uint *local_120;
  uint local_ec;
  bool is_ordinary;
  Elf_Addr value;
  uint key_symndx;
  Symbol_value<32> symval;
  Symbol_value<32> symval2;
  Symbol_value<32> symval_1;
  bool found;
  undefined7 uStack_77;
  undefined1 auStack_68 [16];
  string reloc_name;
  
  bVar41 = 0;
  if (sh_type != 4) {
                    /* WARNING: Subroutine does not return */
    gold::do_gold_unreachable("../../gold/aarch64.cc",0x1fca,"relocate_section");
  }
  this_01 = relinfo->object;
  if (needs_special_offset_handling) {
    pOVar26 = gold::Output_section::find_relaxed_input_section
                        (output_section,(Relobj *)this_01,relinfo->data_shndx);
    if (pOVar26 == (Output_relaxed_input_section *)0x0) {
      this_01 = relinfo->object;
    }
    else {
      bVar29 = (pOVar26->super_Output_section_data_build).super_Output_section_data.
               super_Output_data.field_0x20;
      if ((bVar29 & 1) == 0) {
                    /* WARNING: Subroutine does not return */
        gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");
      }
      uVar28 = (pOVar26->super_Output_section_data_build).super_Output_section_data.
               super_Output_data.address_;
      if ((bVar29 & 2) == 0) {
                    /* WARNING: Subroutine does not return */
        gold::do_gold_unreachable("../../gold/output.h",0xcf,"data_size");
      }
      sVar12 = (pOVar26->super_Output_section_data_build).super_Output_section_data.
               super_Output_data.data_size_;
      uVar37 = (uint)uVar28;
      if ((uVar37 < address) || (address + view_size < (uVar28 & 0xffffffff) + sVar12)) {
                    /* WARNING: Subroutine does not return */
        gold::do_gold_unreachable("../../gold/aarch64.cc",0x1fda,"relocate_section");
      }
      this_01 = relinfo->object;
      view = view + (uVar37 - address);
      view_size = sVar12;
    }
  }
  pp_Var2 = (this_01->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object;
  p_Var3 = pp_Var2[0x23];
  if (p_Var3 == gold::Relobj::local_symbol_count) {
    local_ec = (*pp_Var2[0x2f])();
  }
  else {
    local_ec = (*p_Var3)(this_01);
  }
  iVar13 = 0;
  local_148 = (General_options *)0x0;
  local_120 = (uint *)prelocs;
  if (reloc_count != 0) {
    do {
      uVar37 = *local_120;
      local_140 = (ulong)(uVar37 >> 0x18 | (uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8 |
                         uVar37 << 0x18);
      if ((!needs_special_offset_handling) ||
         (local_140 = gold::Output_section::output_offset
                                (output_section,(Relobj *)relinfo->object,relinfo->data_shndx,
                                 local_140), local_140 != 0xffffffffffffffff)) {
        symval._8_4_ = 0x80000000;
        symval.u_.value = 0;
        uVar37 = local_120[1];
        symval.output_symtab_index_ = 0;
        symval.output_dynsym_index_ = 0xffffffff;
        uVar37 = ((uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8 | uVar37 << 0x18) >> 8;
        if (uVar37 < local_ec) {
          if ((reloc_symbol_changes != (Reloc_symbol_changes *)0x0) &&
             (pGVar21 = (General_options *)
                        (reloc_symbol_changes->vec_).
                        super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.
                        _M_start[(long)local_148], pGVar21 != (General_options *)0x0)) {
LAB_0030fa33:
            uVar16 = *(uint *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.
                                      longname.field_2 + 4);
            uVar30 = uVar16 - 1;
            if (0xfffffffd < uVar30) goto LAB_0030fa42;
LAB_0030fcf0:
            if (uVar30 == 0xfffffffd) {
                    /* WARNING: Subroutine does not return */
              gold::do_gold_unreachable("../../gold/object.h",0x70d,"set_output_symtab_index");
            }
            symval.output_symtab_index_ = uVar16;
            goto LAB_0030fa4a;
          }
          pSVar4 = (this_01->local_values_).
                   super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>
                   ._M_impl._M_start;
          if ((ulong)(((long)(this_01->local_values_).
                             super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>
                             ._M_impl._M_finish - (long)pSVar4 >> 3) * -0x5555555555555555) <=
              (ulong)uVar37) {
                    /* WARNING: Subroutine does not return */
            gold::do_gold_unreachable("../../gold/object.h",0x8c1,"local_symbol");
          }
          pSVar38 = pSVar4 + uVar37;
          uVar16 = *(uint *)&pSVar38->field_0x8 & 0x7ffffff;
          uVar30 = *(uint *)&pSVar38->field_0x8 & 0x7ffffff;
          if (((pSVar38->field_0xb & 8) == 0) || (uVar16 == 0)) {
LAB_0030fbb3:
            pGVar21 = (General_options *)0x0;
            goto LAB_0030faa5;
          }
          ppOVar6 = (this_01->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.
                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>
                    ._M_impl._M_start;
          if ((ulong)((long)(this_01->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.
                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>
                            ._M_impl._M_finish - (long)ppOVar6 >> 3) <= (ulong)uVar16) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00310860 to 00310864 has its CatchHandler @ 0031092a */
            gold::do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");
          }
          if (ppOVar6[uVar16] != (Output_section *)0x0) goto LAB_0030fbb3;
          bVar14 = gold::Symbol_table::is_section_folded(relinfo->symtab,(Relobj *)this_01,uVar30);
          pGVar21 = (General_options *)0x0;
          if (bVar14) {
            pGVar21 = (General_options *)0x0;
            goto LAB_0030faa5;
          }
LAB_0030fd25:
          symval2._8_4_ = 0x80000000;
          symval2.output_symtab_index_ = 0;
          symval2.output_dynsym_index_ = 0xffffffff;
          symval2.u_.value = 0;
          p_Var3 = (this_01->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object
                   [0x10];
          if (p_Var3 == gold::Sized_relobj_file<32,_true>::do_section_name) {
                    /* try { // try from 0030fd86 to 0030fd8a has its CatchHandler @ 00310922 */
            elfcpp::Elf_file<32,_true,_gold::Object>::section_name
                      (&reloc_name,&this_01->elf_file_,relinfo->data_shndx);
          }
          else {
                    /* try { // try from 00310038 to 00310039 has its CatchHandler @ 00310922 */
            (*p_Var3)(&reloc_name,this_01);
          }
          bVar14 = false;
          bVar40 = iVar13 == 0;
          if (bVar40) {
            lVar24 = 6;
            _Var31._M_p = reloc_name._M_dataplus._M_p;
            pbVar36 = &DAT_00533552;
            do {
              if (lVar24 == 0) break;
              lVar24 = lVar24 + -1;
              bVar14 = (byte)*_Var31._M_p < *pbVar36;
              bVar40 = *_Var31._M_p == *pbVar36;
              _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);
              pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;
            } while (bVar40);
            bVar39 = false;
            bVar14 = (!bVar14 && !bVar40) == bVar14;
            if (!bVar14) {
              lVar24 = 7;
              _Var31._M_p = reloc_name._M_dataplus._M_p;
              pbVar36 = (byte *)".zdebug";
              do {
                if (lVar24 == 0) break;
                lVar24 = lVar24 + -1;
                bVar39 = (byte)*_Var31._M_p < *pbVar36;
                bVar14 = *_Var31._M_p == *pbVar36;
                _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);
                pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;
              } while (bVar14);
              bVar40 = false;
              bVar14 = (!bVar39 && !bVar14) == bVar39;
              if (!bVar14) {
                lVar24 = 0x11;
                _Var31._M_p = reloc_name._M_dataplus._M_p;
                pbVar36 = (byte *)".gnu.linkonce.wi.";
                do {
                  if (lVar24 == 0) break;
                  lVar24 = lVar24 + -1;
                  bVar40 = (byte)*_Var31._M_p < *pbVar36;
                  bVar14 = *_Var31._M_p == *pbVar36;
                  _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);
                  pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;
                } while (bVar14);
                bVar39 = false;
                bVar14 = (!bVar40 && !bVar14) == bVar40;
                if (!bVar14) {
                  lVar24 = 5;
                  _Var31._M_p = reloc_name._M_dataplus._M_p;
                  pbVar36 = (byte *)".line";
                  do {
                    if (lVar24 == 0) break;
                    lVar24 = lVar24 + -1;
                    bVar39 = (byte)*_Var31._M_p < *pbVar36;
                    bVar14 = *_Var31._M_p == *pbVar36;
                    _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);
                    pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;
                  } while (bVar14);
                  bVar40 = false;
                  bVar14 = (!bVar39 && !bVar14) == bVar39;
                  if (!bVar14) {
                    lVar24 = 5;
                    _Var31._M_p = reloc_name._M_dataplus._M_p;
                    pbVar36 = (byte *)".stab";
                    do {
                      if (lVar24 == 0) break;
                      lVar24 = lVar24 + -1;
                      bVar40 = (byte)*_Var31._M_p < *pbVar36;
                      bVar14 = *_Var31._M_p == *pbVar36;
                      _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);
                      pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;
                    } while (bVar14);
                    bVar39 = false;
                    bVar14 = (!bVar40 && !bVar14) == bVar40;
                    if (!bVar14) {
                      lVar24 = 4;
                      _Var31._M_p = reloc_name._M_dataplus._M_p;
                      pbVar36 = &DAT_0053357f;
                      do {
                        if (lVar24 == 0) break;
                        lVar24 = lVar24 + -1;
                        bVar39 = (byte)*_Var31._M_p < *pbVar36;
                        bVar14 = *_Var31._M_p == *pbVar36;
                        _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);
                        pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;
                      } while (bVar14);
                      bVar40 = false;
                      bVar14 = (!bVar39 && !bVar14) == bVar39;
                      if (!bVar14) {
                        lVar24 = 10;
                        _Var31._M_p = reloc_name._M_dataplus._M_p;
                        pbVar36 = (byte *)".eh_frame";
                        do {
                          if (lVar24 == 0) break;
                          lVar24 = lVar24 + -1;
                          bVar40 = (byte)*_Var31._M_p < *pbVar36;
                          bVar14 = *_Var31._M_p == *pbVar36;
                          _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);
                          pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;
                        } while (bVar14);
                        bVar39 = false;
                        bVar14 = (!bVar40 && !bVar14) == bVar40;
                        if (!bVar14) {
                          lVar24 = 0x12;
                          _Var31._M_p = reloc_name._M_dataplus._M_p;
                          pbVar36 = (byte *)".gcc_except_table";
                          do {
                            if (lVar24 == 0) break;
                            lVar24 = lVar24 + -1;
                            bVar39 = (byte)*_Var31._M_p < *pbVar36;
                            bVar14 = *_Var31._M_p == *pbVar36;
                            _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);
                            pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;
                          } while (bVar14);
                          if ((!bVar39 && !bVar14) != bVar39) goto LAB_0030ff50;
                        }
                        goto LAB_00310006;
                      }
                    }
                  }
                }
              }
            }
LAB_0030fdc0:
                    /* try { // try from 0030fdd2 to 0030fdd6 has its CatchHandler @ 00310912 */
            AVar17 = gold::Sized_relobj_file<32,_true>::map_to_kept_section
                               (this_01,uVar30,&reloc_name,&found);
            symval2.u_.value = 0;
            if (found != false) {
              symval2.u_.value = AVar17 + (pSVar38->u_).value;
            }
            iVar13 = 1;
          }
          else {
            if (iVar13 == 1) goto LAB_0030fdc0;
            if (iVar13 == 3) {
LAB_0030ff50:
              pSVar7 = relinfo->object;
              if (pGVar21 == (General_options *)0x0) {
                    /* try { // try from 003105ee to 0031061d has its CatchHandler @ 00310912 */
                pcVar20 = gold::Sized_relobj_file<32,_true>::get_symbol_name(pSVar7,uVar37);
                pcVar27 = (char *)gettext(
                                         "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"
                                         );
                gold::gold_error_at_location<32,_true>
                          (relinfo,(size_t)local_148,local_140,pcVar27,pcVar20,(ulong)uVar37);
              }
              else {
                    /* try { // try from 0030ff70 to 0030ff74 has its CatchHandler @ 00310912 */
                gold::Symbol::demangled_name((string *)&found,(Symbol *)pGVar21);
                uVar23 = CONCAT71(uStack_77,found);
                pcVar20 = (char *)gettext(
                                         "relocation refers to global symbol \"%s\", which is defined in a discarded section"
                                         );
                    /* try { // try from 0030ffa4 to 0030ffa8 has its CatchHandler @ 0031093c */
                gold::gold_error_at_location<32,_true>
                          (relinfo,(size_t)local_148,local_140,pcVar20,uVar23);
                if ((undefined1 *)CONCAT71(uStack_77,found) != auStack_68) {
                  operator_delete((undefined1 *)CONCAT71(uStack_77,found));
                }
              }
                    /* try { // try from 0030ffd1 to 0030ffd5 has its CatchHandler @ 00310912 */
              uVar37 = gold::Sized_relobj_file<32,_true>::symbol_section_and_value
                                 (pSVar7,uVar37,&value,&is_ordinary);
              if (uVar37 != 0) {
                    /* try { // try from 00310544 to 0031057d has its CatchHandler @ 00310912 */
                pRVar25 = gold::Sized_relobj_file<32,_true>::find_kept_section_object
                                    (pSVar7,uVar37,&key_symndx);
                if (key_symndx != 0) {
                    /* try { // try from 00310725 to 00310745 has its CatchHandler @ 00310912 */
                  pcVar20 = gold::Sized_relobj_file<32,_true>::get_symbol_name(pSVar7,key_symndx);
                  pcVar27 = (char *)gettext("  section group signature: \"%s\"");
                  gold::gold_info(pcVar27,pcVar20);
                }
                if (pRVar25 != (Relobj *)0x0) {
                  pcVar11 = (pRVar25->super_Object).name_._M_dataplus._M_p;
                  pcVar20 = (char *)gettext("  prevailing definition is from %s");
                  gold::gold_info(pcVar20,pcVar11);
                }
              }
              iVar13 = 3;
            }
            else {
LAB_00310006:
              iVar13 = 2;
            }
            symval2.u_.value = 0;
          }
          if (symval2.output_symtab_index_ != 0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00310794 to 00310798 has its CatchHandler @ 00310912 */
            gold::do_gold_unreachable("../../gold/object.h",0x716,"set_no_output_symtab_entry");
          }
          symval2.output_symtab_index_ = 0xffffffff;
          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
               *)reloc_name._M_dataplus._M_p != &reloc_name.field_2) {
            operator_delete(reloc_name._M_dataplus._M_p);
          }
          pSVar38 = &symval2;
          if (-1 < (long)local_140) goto LAB_0030fae5;
LAB_0030fe48:
          pcVar20 = (char *)gettext("reloc has bad offset %zu");
          pGVar21 = local_148;
                    /* try { // try from 0030fe68 to 0030fe6c has its CatchHandler @ 00310922 */
          gold::gold_error_at_location<32,_true>
                    (relinfo,(size_t)local_148,local_140,pcVar20,local_140);
          iVar19 = (int)pGVar21;
        }
        else {
          if ((reloc_symbol_changes != (Reloc_symbol_changes *)0x0) &&
             (pGVar21 = (General_options *)
                        (reloc_symbol_changes->vec_).
                        super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.
                        _M_start[(long)local_148], pGVar21 != (General_options *)0x0))
          goto LAB_0030fa33;
          if (uVar37 < this_01->local_symbol_count_) {
LAB_003107a0:
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 003107b3 to 003107ff has its CatchHandler @ 0031092a */
            gold::do_gold_unreachable("../../gold/target-reloc.h",0x17f,"relocate_section");
          }
          ppSVar5 = (this_01->symbols_).
                    super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.
                    _M_start;
          uVar28 = (ulong)(uVar37 - this_01->local_symbol_count_);
          if ((ulong)((long)(this_01->symbols_).
                            super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.
                            _M_impl._M_finish - (long)ppSVar5 >> 3) <= uVar28) {
                    /* WARNING: Subroutine does not return */
            gold::do_gold_unreachable("../../gold/object.h",0x8ad,"global_symbol");
          }
          pGVar21 = (General_options *)ppSVar5[uVar28];
          if (pGVar21 == (General_options *)0x0) goto LAB_003107a0;
          if (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring & 0x100000
              ) == 0) goto LAB_0030fa33;
                    /* try { // try from 0030fc40 to 0030fcb4 has its CatchHandler @ 0031092a */
          pGVar21 = (General_options *)
                    gold::Symbol_table::resolve_forwards(relinfo->symtab,(Symbol *)pGVar21);
          uVar16 = *(uint *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.
                                    longname.field_2 + 4);
          uVar30 = uVar16 - 1;
          if (uVar30 < 0xfffffffe) {
            if ((symval.output_symtab_index_ != 0) && (symval.output_symtab_index_ != 0xfffffffe)) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0031077c to 00310780 has its CatchHandler @ 0031092a */
              gold::do_gold_unreachable("../../gold/object.h",0x70c,"set_output_symtab_index");
            }
            goto LAB_0030fcf0;
          }
          if (symval.output_symtab_index_ != 0) {
                    /* WARNING: Subroutine does not return */
            gold::do_gold_unreachable("../../gold/object.h",0x716,"set_no_output_symtab_entry");
          }
LAB_0030fa42:
          symval.output_symtab_index_ = 0xffffffff;
LAB_0030fa4a:
          symval.u_.value =
               *(Value *)&(pGVar21->help_initializer_).super_Struct_special.option.helparg;
          bVar29 = *(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring &
                   0xf;
          if (bVar29 == 6) {
            symval._8_4_ = symval._8_4_ | 0x20000000;
          }
          else if (bVar29 == 10) {
            symval._8_4_ = symval._8_4_ | 0x40000000;
          }
          bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.
                                    helpstring + 3);
          if ((char)bVar29 < '\0') {
            pcVar20 = (pGVar21->help_initializer_).super_Struct_special.option.helpstring;
            if (((ulong)pcVar20 & 0x70000) == 0) {
              if ((*(uint *)&(pGVar21->help_initializer_).super_Struct_special.option.longname.
                             field_2 == 0) && ((bVar29 & 0x20) != 0)) {
LAB_0030fd10:
                pSVar38 = &symval;
                uVar30 = 0;
                goto LAB_0030fd25;
              }
            }
            else if (((ulong)pcVar20 & 0x70000) == 0x40000) goto LAB_0030fd10;
          }
          pSVar38 = &symval;
LAB_0030faa5:
          symval2._8_4_ = 0x80000000;
          symval2.output_symtab_index_ = 0;
          symval2.output_dynsym_index_ = 0xffffffff;
          symval2.u_.value = 0;
          if ((long)local_140 < 0) goto LAB_0030fe48;
LAB_0030fae5:
          if ((view_size <= local_140) || (view + local_140 == (uchar *)0x0)) goto LAB_0030fe48;
          uVar37 = local_120[1];
          if (uVar37 >> 0x18 != 0) {
            pcVar20 = (char *)gettext("Invalid/unrecognized reloc reloc %d.");
                    /* try { // try from 0030fb3d to 0030fb59 has its CatchHandler @ 00310922 */
            gold::gold_error(pcVar20,(ulong)(uVar37 >> 0x18));
                    /* WARNING: Subroutine does not return */
            gold::do_gold_unreachable
                      ("../../gold/aarch64-reloc-property.h",0xeb,"code_to_array_index");
          }
          if (aarch64_reloc_property_table->table_[0] == (AArch64_reloc_property *)0x0) {
                    /* try { // try from 003104dd to 003104e1 has its CatchHandler @ 00310922 */
            gold::AArch64_reloc_property_table::reloc_name_in_error_message
                      (&reloc_name,aarch64_reloc_property_table,0);
            _Var31 = reloc_name._M_dataplus;
            pcVar20 = (char *)gettext("cannot relocate %s in object file");
            uVar37 = *local_120;
            pGVar32 = local_148;
                    /* try { // try from 00310510 to 00310514 has its CatchHandler @ 0031091a */
            gold::gold_error_at_location<32,_true>
                      (relinfo,(size_t)local_148,
                       (ulong)(uVar37 >> 0x18 | (uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8 |
                              uVar37 << 0x18),pcVar20,_Var31._M_p);
            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
                 *)reloc_name._M_dataplus._M_p != &reloc_name.field_2) {
              operator_delete(reloc_name._M_dataplus._M_p);
            }
          }
          else {
            pGVar32 = (General_options *)0x0;
            pSVar7 = relinfo->object;
            symval_1._8_4_ = 0x80000000;
            symval_1.output_symtab_index_ = 0;
            symval_1.output_dynsym_index_ = 0xffffffff;
            symval_1.u_.value = 0;
            if (pGVar21 == (General_options *)0x0) {
              if ((pSVar38->field_0xb & 0x40) != 0) {
                uVar37 = ((uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8 | uVar37 << 0x18) >> 8;
                pGVar32 = (General_options *)(ulong)uVar37;
                this_00 = pSVar7;
                    /* try { // try from 00310475 to 003104bc has its CatchHandler @ 00310944 */
                bVar14 = gold::Sized_relobj_file<32,_true>::local_has_plt_offset(pSVar7,uVar37);
                if (bVar14) {
                  pOVar10 = this->plt_;
                  if (pOVar10 == (Output_data_plt_aarch64<32,_true> *)0x0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 003108c5 to 003108c9 has its CatchHandler @ 00310944 */
                    plt_section((Target_aarch64<32,_true> *)this_00);
                  }
                  if (((pOVar10->super_Output_section_data).super_Output_data.field_0x20 & 1) == 0)
                  {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 003108a8 to 003108ac has its CatchHandler @ 00310944 */
                    gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");
                  }
                  uVar22 = (pOVar10->super_Output_section_data).super_Output_data.address_;
                  uVar30 = pOVar10->count_;
                  pGVar32 = (General_options *)(ulong)uVar37;
                  iVar19 = (*(pSVar7->super_Sized_relobj<32,_true>).super_Relobj.super_Object.
                             _vptr_Object[0x2a])(pSVar7);
                  symval_1.u_.value = (int)uVar22 + 0x20 + uVar30 * 0x10 + iVar19;
                }
              }
            }
            else {
              uVar37 = aarch64_reloc_property_table->table_[0]->reference_flags_;
              pGVar32 = (General_options *)(ulong)uVar37;
                    /* try { // try from 003100df to 00310101 has its CatchHandler @ 00310944 */
              bVar14 = gold::Symbol::use_plt_offset((Symbol *)pGVar21,uVar37);
              if (bVar14) {
                if (this->plt_ == (Output_data_plt_aarch64<32,_true> *)0x0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00310800 to 00310804 has its CatchHandler @ 00310944 */
                  plt_section((Target_aarch64<32,_true> *)0x0);
                }
                pGVar32 = pGVar21;
                uVar22 = Output_data_plt_aarch64<32,_true>::address_for_global
                                   (this->plt_,(Symbol *)pGVar21);
                symval_1.u_.value = (Value)uVar22;
              }
            }
            gold::Symbol_value<32>::~Symbol_value(&symval_1,(int)pGVar32);
          }
          iVar19 = (int)pGVar32;
          if (pGVar21 != (General_options *)0x0) {
            bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.
                                      helpstring + 2);
            bVar15 = bVar29 & 7;
            if ((bVar29 & 7) == 0) {
              if ((*(int *)&(pGVar21->help_initializer_).super_Struct_special.option.longname.
                            field_2 != 0) ||
                 (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &
                  0x20000000) == 0)) {
                pcVar8 = *(code **)(*(long *)(pGVar21->help_initializer_).super_Struct_special.
                                             option.longname._M_string_length + 0x28);
                if (pcVar8 != gold::Object::do_pluginobj) {
                  lVar24 = (*pcVar8)();
                  iVar19 = (int)pGVar32;
                  if (lVar24 != 0) {
                    bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.
                                              option.helpstring + 2);
                    bVar15 = bVar29 & 7;
                    if ((bVar29 & 7) == 0) {
                      uVar37 = *(uint *)&(pGVar21->help_initializer_).super_Struct_special.option.
                                         longname.field_2;
                      pGVar32 = (General_options *)(ulong)uVar37;
                      bVar1 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.
                                               option.helpstring + 3);
                      if ((uVar37 == 0) && ((bVar1 & 0x20) != 0)) goto LAB_0031020c;
                      if ((char)bVar1 < '\0') goto LAB_003105b8;
                      goto LAB_00310305;
                    }
                    if (bVar15 == 4) goto LAB_0031020c;
                    if (-1 < *(char *)((long)&(pGVar21->help_initializer_).super_Struct_special.
                                              option.helpstring + 3)) goto LAB_00310305;
                    bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.
                                              option.helpstring + 1);
                    if ((bVar15 & 3) == 0) goto LAB_003101c0;
                    goto LAB_0031026d;
                  }
                  goto LAB_00310438;
                }
LAB_0031015a:
                bVar1 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.
                                         helpstring + 1);
                bVar29 = bVar29 & 7;
                bVar15 = bVar1 & 3;
                if ((bVar1 & 3) == 0) goto LAB_003101c0;
LAB_00310166:
                if (((*(int *)&(pGVar21->help_initializer_).super_Struct_special.option.longname.
                               field_2 == 0) &&
                    (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &
                     0x20000000) != 0)) &&
                   ((*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring
                     >> 4 != 2 &&
                    (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &
                     0x200000000) == 0)))) {
LAB_00310293:
                  if (gold::parameters->options_ == (General_options *)0x0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 003108dd to 003108e1 has its CatchHandler @ 00310922 */
                    gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");
                  }
                  if ((gold::parameters->options_->weak_unresolved_symbols_).value != false) {
                    if (bVar29 != 0) goto LAB_003101c0;
                    goto LAB_00310177;
                  }
                }
                else {
LAB_00310177:
                  if ((*(byte *)((pGVar21->help_initializer_).super_Struct_special.option.longname.
                                 _M_string_length + 0x3c) & 1) == 0) goto LAB_003101c0;
                }
                if (bVar15 == 2) {
                  uVar23 = gettext("hidden");
                }
                else if (bVar15 < 3) {
                  if (bVar15 != 1) {
                    /* WARNING: Subroutine does not return */
                    gold::do_gold_unreachable("../../gold/target-reloc.h",0xa4,"visibility_error");
                  }
                  uVar23 = gettext("internal");
                }
                else {
                  uVar23 = gettext("protected");
                }
                pp_Var2 = (pGVar21->help_initializer_).super_Struct_special.super_Struct_var.
                          _vptr_Struct_var;
                pcVar20 = (char *)gettext("%s symbol \'%s\' is not defined locally");
                    /* try { // try from 003101b4 to 0031042c has its CatchHandler @ 00310922 */
                gold::gold_error(pcVar20,uVar23,pp_Var2);
                iVar19 = (int)uVar23;
                goto LAB_003101c0;
              }
LAB_0031020c:
              if ((*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring >>
                   4 == 2) ||
                 (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &
                  0x200000000) != 0)) {
LAB_00310438:
                iVar19 = (int)pGVar32;
                bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.
                                          helpstring + 1) & 3;
LAB_0031043f:
                if (bVar15 == 0) goto LAB_003101c0;
                bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.
                                          helpstring + 2) & 7;
                if (bVar29 != 0) goto LAB_00310270;
                goto LAB_00310166;
              }
              pGVar32 = gold::parameters->options_;
              if (pGVar32 == (General_options *)0x0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00310878 to 0031087c has its CatchHandler @ 00310922 */
                gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");
              }
              if ((pGVar32->weak_unresolved_symbols_).value != false) goto LAB_00310438;
              if (*(char *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.
                                   helpstring + 3) < '\0') {
                if (bVar15 != 0) goto LAB_00310260;
LAB_003105b8:
                iVar19 = (int)pGVar32;
                pcVar8 = *(code **)(*(long *)(pGVar21->help_initializer_).super_Struct_special.
                                             option.longname._M_string_length + 0x28);
                if (pcVar8 == gold::Object::do_pluginobj) goto LAB_0031015a;
                    /* try { // try from 003105cc to 003105cd has its CatchHandler @ 00310922 */
                lVar24 = (*pcVar8)();
                if (lVar24 == 0) goto LAB_00310438;
              }
LAB_00310305:
              iVar19 = (int)pGVar32;
              if (gold::parameters->target_ == (Target *)0x0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00310818 to 0031084c has its CatchHandler @ 00310922 */
                gold::do_gold_unreachable("../../gold/parameters.h",0x69,"target");
              }
              p_Var3 = gold::parameters->target_->_vptr_Target[7];
              if (p_Var3 != gold::Target::do_is_defined_by_abi) {
                pGVar32 = pGVar21;
                iVar18 = (*p_Var3)();
                iVar19 = (int)pGVar32;
                if ((char)iVar18 != '\0') goto LAB_00310438;
              }
              pGVar9 = gold::parameters->options_;
              if (pGVar9 == (General_options *)0x0) {
                    /* WARNING: Subroutine does not return */
                gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");
              }
              pGVar34 = (General_options *)(pGVar9->unresolved_symbols_).value;
              bVar14 = false;
              bVar40 = pGVar34 == (General_options *)0x0;
              if (bVar40) {
                bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.
                                          helpstring + 1) & 3;
LAB_003103c9:
                if ((bVar15 == 2) ||
                   (((pGVar9->shared_).value == false || ((pGVar9->defs_).value != false))))
                goto LAB_003103e1;
                goto LAB_0031043f;
              }
              lVar24 = 0xb;
              pGVar33 = pGVar34;
              pbVar36 = (byte *)"ignore-all";
              do {
                pGVar32 = pGVar33;
                if (lVar24 == 0) break;
                lVar24 = lVar24 + -1;
                pGVar32 = (General_options *)((long)pGVar33 + (ulong)bVar41 * -2 + 1);
                bVar29 = *(byte *)&(pGVar33->help_initializer_).super_Struct_special.
                                   super_Struct_var._vptr_Struct_var;
                bVar14 = bVar29 < *pbVar36;
                bVar40 = bVar29 == *pbVar36;
                pGVar33 = pGVar32;
                pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;
              } while (bVar40);
              bVar39 = false;
              bVar14 = (!bVar14 && !bVar40) == bVar14;
              if (bVar14) goto LAB_00310438;
              lVar24 = 0xb;
              pGVar32 = pGVar34;
              pbVar36 = (byte *)"report-all";
              do {
                if (lVar24 == 0) break;
                lVar24 = lVar24 + -1;
                bVar29 = *(byte *)&(pGVar32->help_initializer_).super_Struct_special.
                                   super_Struct_var._vptr_Struct_var;
                bVar39 = bVar29 < *pbVar36;
                bVar14 = bVar29 == *pbVar36;
                pGVar32 = (General_options *)((long)pGVar32 + (ulong)bVar41 * -2 + 1);
                pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;
              } while (bVar14);
              bVar40 = false;
              bVar14 = (!bVar39 && !bVar14) == bVar39;
              if (!bVar14) {
                lVar24 = 0x17;
                pGVar32 = pGVar34;
                pbVar36 = (byte *)"ignore-in-object-files";
                do {
                  pGVar33 = pGVar32;
                  if (lVar24 == 0) break;
                  lVar24 = lVar24 + -1;
                  pGVar33 = (General_options *)((long)pGVar32 + (ulong)bVar41 * -2 + 1);
                  bVar29 = *(byte *)&(pGVar32->help_initializer_).super_Struct_special.
                                     super_Struct_var._vptr_Struct_var;
                  bVar40 = bVar29 < *pbVar36;
                  bVar14 = bVar29 == *pbVar36;
                  pGVar32 = pGVar33;
                  pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;
                } while (bVar14);
                iVar19 = (int)pGVar33;
                bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.
                                          helpstring + 1) & 3;
                bVar14 = (!bVar40 && !bVar14) == bVar40;
                if ((!bVar14) ||
                   (bVar14 = ((ulong)(pGVar21->help_initializer_).super_Struct_special.option.
                                     helpstring & 0x1000000) == 0, !bVar14)) {
                  bVar40 = false;
                  lVar24 = 0x16;
                  pbVar36 = (byte *)"ignore-in-shared-libs";
                  do {
                    pGVar32 = pGVar34;
                    if (lVar24 == 0) break;
                    lVar24 = lVar24 + -1;
                    pGVar32 = (General_options *)((long)pGVar34 + (ulong)bVar41 * -2 + 1);
                    bVar29 = *(byte *)&(pGVar34->help_initializer_).super_Struct_special.
                                       super_Struct_var._vptr_Struct_var;
                    bVar40 = bVar29 < *pbVar36;
                    bVar14 = bVar29 == *pbVar36;
                    pGVar34 = pGVar32;
                    pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;
                  } while (bVar14);
                  iVar19 = (int)pGVar32;
                  if (((!bVar40 && !bVar14) != bVar40) ||
                     (*(char *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.
                                       helpstring + 2) < '\0')) goto LAB_003103c9;
                }
                goto LAB_0031043f;
              }
LAB_003103e1:
              pRVar35 = relinfo;
              gold::gold_undefined_symbol_at_location<32,_true>
                        ((Symbol *)pGVar21,relinfo,(size_t)local_148,local_140);
              iVar19 = (int)pRVar35;
              bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.
                                        helpstring + 3);
            }
            else {
              if (bVar15 == 4) goto LAB_0031020c;
LAB_00310260:
              iVar19 = (int)pGVar32;
              bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.
                                        helpstring + 1);
              if ((bVar15 & 3) != 0) {
LAB_0031026d:
                bVar15 = bVar15 & 3;
                bVar29 = bVar29 & 7;
LAB_00310270:
                if (((bVar29 == 4) &&
                    (*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring
                     >> 4 != 2)) &&
                   (bVar29 = 4,
                   ((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &
                   0x200000000) == 0)) goto LAB_00310293;
              }
LAB_003101c0:
              bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.
                                        helpstring + 3);
            }
            if ((bVar29 & 4) != 0) {
              gold::Warnings::issue_warning<32,_true>
                        (&relinfo->symtab->warnings_,(Symbol *)pGVar21,relinfo,(size_t)local_148,
                         local_140);
              iVar19 = (int)pGVar21;
            }
          }
        }
        local_138 = &symval;
        gold::Symbol_value<32>::~Symbol_value(&symval2,iVar19);
        gold::Symbol_value<32>::~Symbol_value(local_138,iVar19);
      }
      local_148 = (General_options *)
                  ((long)&(local_148->help_initializer_).super_Struct_special.super_Struct_var.
                          _vptr_Struct_var + 1);
      local_120 = local_120 + 3;
    } while ((General_options *)reloc_count != local_148);
  }
  return;
}



void FUN_0030f910(long param_1,long *param_2,int param_3,uint *param_4,long param_5,
                 undefined8 param_6,char param_7,long param_8,uint param_9,ulong param_10,
                 long *param_11)

{
  uint uVar1;
  code *pcVar2;
  long *plVar3;
  char cVar4;
  byte bVar5;
  uint uVar6;
  int iVar7;
  int iVar8;
  undefined8 uVar9;
  undefined8 *puVar10;
  undefined8 uVar11;
  undefined8 uVar12;
  long lVar13;
  ulong uVar14;
  long lVar15;
  byte bVar16;
  uint uVar17;
  byte *pbVar18;
  byte *pbVar19;
  byte *pbVar20;
  uint uVar21;
  undefined8 *puVar22;
  long *plVar23;
  bool bVar24;
  bool bVar25;
  bool bVar26;
  byte bVar27;
  long local_148;
  ulong local_140;
  undefined8 *local_138;
  uint *local_120;
  uint local_ec;
  undefined1 local_e1;
  undefined1 local_e0 [4];
  int local_dc;
  undefined8 local_d8;
  uint local_d0;
  undefined4 local_c8;
  undefined8 local_b8;
  undefined4 local_b0;
  int local_a8;
  undefined8 local_98;
  undefined4 local_90;
  int local_88;
  char local_78;
  undefined7 uStack_77;
  undefined1 auStack_68 [16];
  byte *local_58 [2];
  byte abStack_48 [24];
  
  bVar27 = 0;
  if (param_3 != 4) {
                    /* WARNING: Subroutine does not return */
    FUN_00352af0("../../gold/aarch64.cc",0x1fca,"relocate_section");
  }
  plVar23 = (long *)param_2[2];
  if (param_7 != '\0') {
    lVar13 = FUN_003cfdd0(param_6,plVar23,(int)param_2[6]);
    if (lVar13 == 0) {
      plVar23 = (long *)param_2[2];
    }
    else {
      if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {
                    /* WARNING: Subroutine does not return */
        FUN_00352af0("../../gold/output.h",0xc5,"address");
      }
      if ((*(byte *)(lVar13 + 0x20) & 2) == 0) {
                    /* WARNING: Subroutine does not return */
        FUN_00352af0("../../gold/output.h",0xcf,"data_size");
      }
      uVar21 = (uint)*(ulong *)(lVar13 + 8);
      if ((uVar21 < param_9) ||
         (param_9 + param_10 < (*(ulong *)(lVar13 + 8) & 0xffffffff) + *(ulong *)(lVar13 + 0x10))) {
                    /* WARNING: Subroutine does not return */
        FUN_00352af0("../../gold/aarch64.cc",0x1fda,"relocate_section");
      }
      plVar23 = (long *)param_2[2];
      param_8 = param_8 + (ulong)(uVar21 - param_9);
      param_10 = *(ulong *)(lVar13 + 0x10);
    }
  }
  pcVar2 = *(code **)(*plVar23 + 0x118);
  if (pcVar2 == FUN_001a4ab0) {
    local_ec = (**(code **)(*plVar23 + 0x178))();
  }
  else {
    local_ec = (*pcVar2)(plVar23);
  }
  iVar8 = 0;
  local_148 = 0;
  local_120 = param_4;
  if (param_5 != 0) {
    do {
      uVar21 = *local_120;
      local_140 = (ulong)(uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |
                         uVar21 << 0x18);
      if ((param_7 == '\0') ||
         (local_140 = FUN_003cff80(param_6,param_2[2],(int)param_2[6],local_140),
         local_140 != 0xffffffffffffffff)) {
        local_d0 = 0x80000000;
        local_c8 = 0;
        uVar21 = local_120[1];
        local_d8 = 0xffffffff00000000;
        uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;
        if (uVar21 < local_ec) {
          if ((param_11 != (long *)0x0) &&
             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))
          {
LAB_0030fa33:
            iVar7 = *(int *)((long)puVar10 + 0x1c);
            uVar17 = iVar7 - 1;
            if (0xfffffffd < uVar17) goto LAB_0030fa42;
LAB_0030fcf0:
            if (uVar17 == 0xfffffffd) {
                    /* WARNING: Subroutine does not return */
              FUN_00352af0("../../gold/object.h",0x70d,"set_output_symtab_index");
            }
            local_d8 = CONCAT44(local_d8._4_4_,iVar7);
            goto LAB_0030fa4a;
          }
          if ((ulong)((plVar23[0x2d] - plVar23[0x2c] >> 3) * -0x5555555555555555) <= (ulong)uVar21)
          {
                    /* WARNING: Subroutine does not return */
            FUN_00352af0("../../gold/object.h",0x8c1,"local_symbol");
          }
          puVar22 = (undefined8 *)(plVar23[0x2c] + (ulong)uVar21 * 0x18);
          uVar1 = *(uint *)(puVar22 + 1);
          uVar6 = uVar1 & 0x7ffffff;
          uVar17 = uVar1 & 0x7ffffff;
          if (((*(byte *)((long)puVar22 + 0xb) & 8) == 0) || (uVar6 == 0)) {
LAB_0030fbb3:
            puVar10 = (undefined8 *)0x0;
            goto LAB_0030faa5;
          }
          if ((ulong)(plVar23[0xb] - plVar23[10] >> 3) <= (ulong)uVar6) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00310860 to 00310864 has its CatchHandler @ 0031092a */
            FUN_00352af0("../../gold/object.h",0x50b,"is_section_included");
          }
          if (*(long *)(plVar23[10] + (ulong)uVar6 * 8) != 0) goto LAB_0030fbb3;
          cVar4 = FUN_00443530(*param_2,plVar23,uVar1 & 0x7ffffff);
          puVar10 = (undefined8 *)0x0;
          if (cVar4 != '\0') {
            puVar10 = (undefined8 *)0x0;
            goto LAB_0030faa5;
          }
LAB_0030fd25:
          local_b0 = 0x80000000;
          local_b8 = 0xffffffff00000000;
          local_a8 = 0;
          if (*(code **)(*plVar23 + 0x80) == FUN_0022c990) {
                    /* try { // try from 0030fd86 to 0030fd8a has its CatchHandler @ 00310922 */
            FUN_0022c800(local_58,plVar23 + 0x1f);
          }
          else {
                    /* try { // try from 00310038 to 00310039 has its CatchHandler @ 00310922 */
            (**(code **)(*plVar23 + 0x80))(local_58,plVar23,(int)param_2[6]);
          }
          bVar24 = false;
          bVar26 = iVar8 == 0;
          if (bVar26) {
            lVar13 = 6;
            pbVar18 = local_58[0];
            pbVar19 = &DAT_00533552;
            do {
              if (lVar13 == 0) break;
              lVar13 = lVar13 + -1;
              bVar24 = *pbVar18 < *pbVar19;
              bVar26 = *pbVar18 == *pbVar19;
              pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;
              pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;
            } while (bVar26);
            bVar25 = false;
            bVar24 = (!bVar24 && !bVar26) == bVar24;
            if (!bVar24) {
              lVar13 = 7;
              pbVar18 = local_58[0];
              pbVar19 = (byte *)".zdebug";
              do {
                if (lVar13 == 0) break;
                lVar13 = lVar13 + -1;
                bVar25 = *pbVar18 < *pbVar19;
                bVar24 = *pbVar18 == *pbVar19;
                pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;
                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;
              } while (bVar24);
              bVar26 = false;
              bVar24 = (!bVar25 && !bVar24) == bVar25;
              if (!bVar24) {
                lVar13 = 0x11;
                pbVar18 = local_58[0];
                pbVar19 = (byte *)".gnu.linkonce.wi.";
                do {
                  if (lVar13 == 0) break;
                  lVar13 = lVar13 + -1;
                  bVar26 = *pbVar18 < *pbVar19;
                  bVar24 = *pbVar18 == *pbVar19;
                  pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;
                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;
                } while (bVar24);
                bVar25 = false;
                bVar24 = (!bVar26 && !bVar24) == bVar26;
                if (!bVar24) {
                  lVar13 = 5;
                  pbVar18 = local_58[0];
                  pbVar19 = (byte *)".line";
                  do {
                    if (lVar13 == 0) break;
                    lVar13 = lVar13 + -1;
                    bVar25 = *pbVar18 < *pbVar19;
                    bVar24 = *pbVar18 == *pbVar19;
                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;
                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;
                  } while (bVar24);
                  bVar26 = false;
                  bVar24 = (!bVar25 && !bVar24) == bVar25;
                  if (!bVar24) {
                    lVar13 = 5;
                    pbVar18 = local_58[0];
                    pbVar19 = (byte *)".stab";
                    do {
                      if (lVar13 == 0) break;
                      lVar13 = lVar13 + -1;
                      bVar26 = *pbVar18 < *pbVar19;
                      bVar24 = *pbVar18 == *pbVar19;
                      pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;
                      pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;
                    } while (bVar24);
                    bVar25 = false;
                    bVar24 = (!bVar26 && !bVar24) == bVar26;
                    if (!bVar24) {
                      lVar13 = 4;
                      pbVar18 = local_58[0];
                      pbVar19 = &DAT_0053357f;
                      do {
                        if (lVar13 == 0) break;
                        lVar13 = lVar13 + -1;
                        bVar25 = *pbVar18 < *pbVar19;
                        bVar24 = *pbVar18 == *pbVar19;
                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;
                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;
                      } while (bVar24);
                      bVar26 = false;
                      bVar24 = (!bVar25 && !bVar24) == bVar25;
                      if (!bVar24) {
                        lVar13 = 10;
                        pbVar18 = local_58[0];
                        pbVar19 = (byte *)".eh_frame";
                        do {
                          if (lVar13 == 0) break;
                          lVar13 = lVar13 + -1;
                          bVar26 = *pbVar18 < *pbVar19;
                          bVar24 = *pbVar18 == *pbVar19;
                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;
                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;
                        } while (bVar24);
                        bVar25 = false;
                        bVar24 = (!bVar26 && !bVar24) == bVar26;
                        if (!bVar24) {
                          lVar13 = 0x12;
                          pbVar18 = local_58[0];
                          pbVar19 = (byte *)".gcc_except_table";
                          do {
                            if (lVar13 == 0) break;
                            lVar13 = lVar13 + -1;
                            bVar25 = *pbVar18 < *pbVar19;
                            bVar24 = *pbVar18 == *pbVar19;
                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;
                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;
                          } while (bVar24);
                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;
                        }
                        goto LAB_00310006;
                      }
                    }
                  }
                }
              }
            }
LAB_0030fdc0:
                    /* try { // try from 0030fdd2 to 0030fdd6 has its CatchHandler @ 00310912 */
            iVar8 = FUN_00397c50(plVar23,uVar17,local_58,&local_78);
            local_a8 = 0;
            if (local_78 != '\0') {
              local_a8 = iVar8 + *(int *)(puVar22 + 2);
            }
            iVar8 = 1;
          }
          else {
            if (iVar8 == 1) goto LAB_0030fdc0;
            if (iVar8 == 3) {
LAB_0030ff50:
              lVar13 = param_2[2];
              if (puVar10 == (undefined8 *)0x0) {
                    /* try { // try from 003105ee to 0031061d has its CatchHandler @ 00310912 */
                uVar9 = FUN_0039dd50(lVar13,uVar21);
                uVar11 = gettext(
                                "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"
                                );
                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9,uVar21);
              }
              else {
                    /* try { // try from 0030ff70 to 0030ff74 has its CatchHandler @ 00310912 */
                FUN_004443d0(&local_78,puVar10);
                uVar9 = CONCAT71(uStack_77,local_78);
                uVar11 = gettext(
                                "relocation refers to global symbol \"%s\", which is defined in a discarded section"
                                );
                    /* try { // try from 0030ffa4 to 0030ffa8 has its CatchHandler @ 0031093c */
                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9);
                if ((undefined1 *)CONCAT71(uStack_77,local_78) != auStack_68) {
                  FUN_0049e340();
                }
              }
                    /* try { // try from 0030ffd1 to 0030ffd5 has its CatchHandler @ 00310912 */
              iVar8 = FUN_0039d3c0(lVar13,uVar21,local_e0,&local_e1);
              if (iVar8 != 0) {
                    /* try { // try from 00310544 to 0031057d has its CatchHandler @ 00310912 */
                lVar15 = FUN_00397ec0(lVar13,iVar8,&local_dc);
                if (local_dc != 0) {
                    /* try { // try from 00310725 to 00310745 has its CatchHandler @ 00310912 */
                  uVar9 = FUN_0039dd50(lVar13);
                  uVar11 = gettext("  section group signature: \"%s\"");
                  FUN_0034a8b0(uVar11,uVar9);
                }
                if (lVar15 != 0) {
                  uVar9 = *(undefined8 *)(lVar15 + 8);
                  uVar11 = gettext("  prevailing definition is from %s");
                  FUN_0034a8b0(uVar11,uVar9);
                }
              }
              iVar8 = 3;
            }
            else {
LAB_00310006:
              iVar8 = 2;
            }
            local_a8 = 0;
          }
          if ((int)local_b8 != 0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00310794 to 00310798 has its CatchHandler @ 00310912 */
            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");
          }
          local_b8 = CONCAT44(local_b8._4_4_,0xffffffff);
          if (local_58[0] != abStack_48) {
            FUN_0049e340();
          }
          puVar22 = &local_b8;
          if (-1 < (long)local_140) goto LAB_0030fae5;
LAB_0030fe48:
          uVar9 = gettext("reloc has bad offset %zu");
                    /* try { // try from 0030fe68 to 0030fe6c has its CatchHandler @ 00310922 */
          FUN_0034aed0(param_2,local_148,local_140,uVar9,local_140);
        }
        else {
          if ((param_11 != (long *)0x0) &&
             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))
          goto LAB_0030fa33;
          if (uVar21 < *(uint *)(plVar23 + 0x24)) {
LAB_003107a0:
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 003107b3 to 003107ff has its CatchHandler @ 0031092a */
            FUN_00352af0("../../gold/target-reloc.h",0x17f,"relocate_section");
          }
          uVar14 = (ulong)(uVar21 - *(uint *)(plVar23 + 0x24));
          if ((ulong)(plVar23[0x27] - plVar23[0x26] >> 3) <= uVar14) {
                    /* WARNING: Subroutine does not return */
            FUN_00352af0("../../gold/object.h",0x8ad,"global_symbol");
          }
          puVar10 = *(undefined8 **)(plVar23[0x26] + uVar14 * 8);
          if (puVar10 == (undefined8 *)0x0) goto LAB_003107a0;
          if ((*(byte *)((long)puVar10 + 0x3a) & 0x10) == 0) goto LAB_0030fa33;
                    /* try { // try from 0030fc40 to 0030fcb4 has its CatchHandler @ 0031092a */
          puVar10 = (undefined8 *)FUN_00443580(*param_2,puVar10);
          iVar7 = *(int *)((long)puVar10 + 0x1c);
          uVar17 = iVar7 - 1;
          if (uVar17 < 0xfffffffe) {
            if (((int)local_d8 != 0) && ((int)local_d8 != -2)) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0031077c to 00310780 has its CatchHandler @ 0031092a */
              FUN_00352af0("../../gold/object.h",0x70c,"set_output_symtab_index");
            }
            goto LAB_0030fcf0;
          }
          if ((int)local_d8 != 0) {
                    /* WARNING: Subroutine does not return */
            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");
          }
LAB_0030fa42:
          local_d8 = CONCAT44(local_d8._4_4_,0xffffffff);
LAB_0030fa4a:
          local_c8 = *(undefined4 *)(puVar10 + 8);
          if ((*(byte *)(puVar10 + 7) & 0xf) == 6) {
            local_d0 = local_d0 | 0x20000000;
          }
          else if ((*(byte *)(puVar10 + 7) & 0xf) == 10) {
            local_d0 = local_d0 | 0x40000000;
          }
          if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') {
            if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 0) {
              if ((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) {
LAB_0030fd10:
                puVar22 = &local_d8;
                uVar17 = 0;
                goto LAB_0030fd25;
              }
            }
            else if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 4) goto LAB_0030fd10;
          }
          puVar22 = &local_d8;
LAB_0030faa5:
          local_b0 = 0x80000000;
          local_b8 = 0xffffffff00000000;
          local_a8 = 0;
          if ((long)local_140 < 0) goto LAB_0030fe48;
LAB_0030fae5:
          if ((param_10 <= local_140) || (local_140 + param_8 == 0)) goto LAB_0030fe48;
          uVar21 = local_120[1];
          if (uVar21 >> 0x18 != 0) {
            uVar9 = gettext("Invalid/unrecognized reloc reloc %d.");
                    /* try { // try from 0030fb3d to 0030fb59 has its CatchHandler @ 00310922 */
            FUN_0034a750(uVar9,uVar21 >> 0x18);
                    /* WARNING: Subroutine does not return */
            FUN_00352af0("../../gold/aarch64-reloc-property.h",0xeb,"code_to_array_index");
          }
          if (*DAT_0067dff8 == 0) {
                    /* try { // try from 003104dd to 003104e1 has its CatchHandler @ 00310922 */
            FUN_0031d8d0(local_58,DAT_0067dff8,0);
            pbVar18 = local_58[0];
            uVar9 = gettext("cannot relocate %s in object file");
            uVar21 = *local_120;
                    /* try { // try from 00310510 to 00310514 has its CatchHandler @ 0031091a */
            FUN_0034aed0(param_2,local_148,
                         uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |
                         uVar21 << 0x18,uVar9,pbVar18);
            if (local_58[0] != abStack_48) {
              FUN_0049e340();
            }
          }
          else {
            plVar3 = (long *)param_2[2];
            local_90 = 0x80000000;
            local_98 = 0xffffffff00000000;
            local_88 = 0;
            if (puVar10 == (undefined8 *)0x0) {
              if ((*(byte *)((long)puVar22 + 0xb) & 0x40) != 0) {
                uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;
                    /* try { // try from 00310475 to 003104bc has its CatchHandler @ 00310944 */
                cVar4 = FUN_00397bb0(plVar3,uVar21);
                if (cVar4 != '\0') {
                  lVar13 = *(long *)(param_1 + 0x28);
                  if (lVar13 == 0) {
                    /* try { // try from 003108c5 to 003108c9 has its CatchHandler @ 00310944 */
                    FUN_002ed4a0();
                    goto LAB_003108ca;
                  }
                  if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 003108a8 to 003108ac has its CatchHandler @ 00310944 */
                    FUN_00352af0("../../gold/output.h",0xc5,"address");
                  }
                  uVar9 = *(undefined8 *)(lVar13 + 8);
                  iVar7 = *(int *)(lVar13 + 0x68);
                  local_88 = (**(code **)(*plVar3 + 0x150))(plVar3,uVar21);
                  local_88 = (int)uVar9 + 0x20 + iVar7 * 0x10 + local_88;
                }
              }
            }
            else {
                    /* try { // try from 003100df to 00310101 has its CatchHandler @ 00310944 */
              cVar4 = FUN_00228fa0(puVar10,*(undefined4 *)(*DAT_0067dff8 + 0x4c));
              if (cVar4 != '\0') {
                if (*(long *)(param_1 + 0x28) == 0) {
                    /* try { // try from 00310800 to 00310804 has its CatchHandler @ 00310944 */
                  FUN_002ed4a0();
                  goto LAB_00310805;
                }
                local_88 = FUN_002f9c90(*(long *)(param_1 + 0x28),puVar10);
              }
            }
            FUN_001a5bc0(&local_98);
          }
          if (puVar10 != (undefined8 *)0x0) {
            bVar16 = *(byte *)((long)puVar10 + 0x3a);
            bVar5 = bVar16 & 7;
            if ((bVar16 & 7) == 0) {
              if ((*(int *)(puVar10 + 3) != 0) || ((*(byte *)((long)puVar10 + 0x3b) & 0x20) == 0)) {
                if (*(code **)(*(long *)puVar10[2] + 0x28) != FUN_001a4aa0) {
                  lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();
                  if (lVar13 != 0) {
                    bVar16 = *(byte *)((long)puVar10 + 0x3a);
                    bVar5 = bVar16 & 7;
                    if ((bVar16 & 7) == 0) {
                      if ((*(int *)(puVar10 + 3) == 0) &&
                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;
                      if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;
                      goto LAB_00310305;
                    }
                    if (bVar5 == 4) goto LAB_0031020c;
                    if (-1 < *(char *)((long)puVar10 + 0x3b)) goto LAB_00310305;
                    bVar5 = *(byte *)((long)puVar10 + 0x39);
                    if ((bVar5 & 3) == 0) goto LAB_003101c0;
                    goto LAB_0031026d;
                  }
                  goto LAB_00310438;
                }
LAB_0031015a:
                bVar16 = bVar16 & 7;
                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;
                if ((*(byte *)((long)puVar10 + 0x39) & 3) == 0) goto LAB_003101c0;
LAB_00310166:
                if (((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)
                    ) && ((*(byte *)(puVar10 + 7) >> 4 != 2 &&
                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0)))) {
LAB_00310293:
                  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {
LAB_003108ca:
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 003108dd to 003108e1 has its CatchHandler @ 00310922 */
                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");
                  }
                  if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') {
                    if (bVar16 != 0) goto LAB_003101c0;
                    goto LAB_00310177;
                  }
                }
                else {
LAB_00310177:
                  if ((*(byte *)(puVar10[2] + 0x3c) & 1) == 0) goto LAB_003101c0;
                }
                if (bVar5 == 2) {
                  uVar9 = gettext("hidden");
                }
                else if (bVar5 < 3) {
                  if (bVar5 != 1) {
                    /* WARNING: Subroutine does not return */
                    FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");
                  }
                  uVar9 = gettext("internal");
                }
                else {
                  uVar9 = gettext("protected");
                }
                uVar11 = *puVar10;
                uVar12 = gettext("%s symbol \'%s\' is not defined locally");
                    /* try { // try from 003101b4 to 0031042c has its CatchHandler @ 00310922 */
                FUN_0034a750(uVar12,uVar9,uVar11);
                goto LAB_003101c0;
              }
LAB_0031020c:
              if ((*(byte *)(puVar10 + 7) >> 4 == 2) || ((*(byte *)((long)puVar10 + 0x3c) & 2) != 0)
                 ) {
LAB_00310438:
                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;
LAB_0031043f:
                if (bVar5 == 0) goto LAB_003101c0;
                bVar16 = *(byte *)((long)puVar10 + 0x3a) & 7;
                if (bVar16 != 0) goto LAB_00310270;
                goto LAB_00310166;
              }
              if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00310878 to 0031087c has its CatchHandler @ 00310922 */
                FUN_00352af0("../../gold/parameters.h",0x5c,"options");
              }
              if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') goto LAB_00310438;
              if (*(char *)((long)puVar10 + 0x3b) < '\0') {
                if (bVar5 != 0) goto LAB_00310260;
LAB_003105b8:
                if (*(code **)(*(long *)puVar10[2] + 0x28) == FUN_001a4aa0) goto LAB_0031015a;
                    /* try { // try from 003105cc to 003105cd has its CatchHandler @ 00310922 */
                lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();
                if (lVar13 == 0) goto LAB_00310438;
              }
LAB_00310305:
              plVar3 = *(long **)(PTR_DAT_0067cb08 + 0x18);
              if (plVar3 == (long *)0x0) {
LAB_00310805:
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00310818 to 0031084c has its CatchHandler @ 00310922 */
                FUN_00352af0("../../gold/parameters.h",0x69,"target");
              }
              if ((*(code **)(*plVar3 + 0x38) != FUN_001a49e0) &&
                 (cVar4 = (**(code **)(*plVar3 + 0x38))(plVar3,puVar10), cVar4 != '\0'))
              goto LAB_00310438;
              lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);
              if (lVar13 == 0) {
                    /* WARNING: Subroutine does not return */
                FUN_00352af0("../../gold/parameters.h",0x5c,"options");
              }
              pbVar18 = *(byte **)(lVar13 + 0x6c40);
              bVar24 = false;
              bVar26 = pbVar18 == (byte *)0x0;
              if (bVar26) {
                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;
LAB_003103c9:
                if ((bVar5 == 2) ||
                   ((*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0'))))
                goto LAB_003103e1;
                goto LAB_0031043f;
              }
              lVar15 = 0xb;
              pbVar19 = pbVar18;
              pbVar20 = (byte *)"ignore-all";
              do {
                if (lVar15 == 0) break;
                lVar15 = lVar15 + -1;
                bVar24 = *pbVar19 < *pbVar20;
                bVar26 = *pbVar19 == *pbVar20;
                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;
                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;
              } while (bVar26);
              bVar25 = false;
              bVar24 = (!bVar24 && !bVar26) == bVar24;
              if (bVar24) goto LAB_00310438;
              lVar15 = 0xb;
              pbVar19 = pbVar18;
              pbVar20 = (byte *)"report-all";
              do {
                if (lVar15 == 0) break;
                lVar15 = lVar15 + -1;
                bVar25 = *pbVar19 < *pbVar20;
                bVar24 = *pbVar19 == *pbVar20;
                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;
                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;
              } while (bVar24);
              bVar26 = false;
              bVar24 = (!bVar25 && !bVar24) == bVar25;
              if (!bVar24) {
                lVar15 = 0x17;
                pbVar19 = pbVar18;
                pbVar20 = (byte *)"ignore-in-object-files";
                do {
                  if (lVar15 == 0) break;
                  lVar15 = lVar15 + -1;
                  bVar26 = *pbVar19 < *pbVar20;
                  bVar24 = *pbVar19 == *pbVar20;
                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;
                  pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;
                } while (bVar24);
                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;
                bVar24 = (!bVar26 && !bVar24) == bVar26;
                if ((!bVar24) || (bVar24 = (*(byte *)((long)puVar10 + 0x3b) & 1) == 0, !bVar24)) {
                  bVar26 = false;
                  lVar15 = 0x16;
                  pbVar19 = (byte *)"ignore-in-shared-libs";
                  do {
                    if (lVar15 == 0) break;
                    lVar15 = lVar15 + -1;
                    bVar26 = *pbVar18 < *pbVar19;
                    bVar24 = *pbVar18 == *pbVar19;
                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;
                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;
                  } while (bVar24);
                  if (((!bVar26 && !bVar24) != bVar26) || (*(char *)((long)puVar10 + 0x3a) < '\0'))
                  goto LAB_003103c9;
                }
                goto LAB_0031043f;
              }
LAB_003103e1:
              FUN_0034b9f0(puVar10,param_2,local_148,local_140);
              bVar16 = *(byte *)((long)puVar10 + 0x3b);
            }
            else {
              if (bVar5 == 4) goto LAB_0031020c;
LAB_00310260:
              bVar5 = *(byte *)((long)puVar10 + 0x39);
              if ((bVar5 & 3) != 0) {
LAB_0031026d:
                bVar5 = bVar5 & 3;
                bVar16 = bVar16 & 7;
LAB_00310270:
                if (((bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2)) &&
                   (bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0)) goto LAB_00310293;
              }
LAB_003101c0:
              bVar16 = *(byte *)((long)puVar10 + 0x3b);
            }
            if ((bVar16 & 4) != 0) {
              FUN_00446c20(*param_2 + 0x1e0,puVar10,param_2,local_148,local_140);
            }
          }
        }
        local_138 = &local_d8;
        FUN_001a5bc0(&local_b8);
        FUN_001a5bc0(local_138);
      }
      local_148 = local_148 + 1;
      local_120 = local_120 + 3;
    } while (param_5 != local_148);
  }
  return;
}


PUSH R15
PUSH R14
PUSH R13
PUSH R12
PUSH RBP
PUSH RBX
SUB RSP,0x118
MOV EAX,dword ptr [RSP + 0x150]
MOV qword ptr [RSP + 0x48],RDI
MOV qword ptr [RSP + 0x28],RCX
MOV qword ptr [RSP + 0x40],R8
MOV qword ptr [RSP + 0x50],R9
MOV byte ptr [RSP + 0x5b],AL
CMP EDX,0x4
JNZ 0x0031087d
MOV RBP,RSI
MOV R15,qword ptr [RSI + 0x10]
TEST AL,AL
JNZ 0x00310638
MOV RAX,qword ptr [R15]
LEA RCX,[0x1a4ab0]
MOV RDI,R15
MOV RDX,qword ptr [RAX + 0x118]
CMP RDX,RCX
JNZ 0x00310750
CALL qword ptr [RAX + 0x178]
MOV dword ptr [RSP + 0x5c],EAX
LEA RAX,[RSP + 0x90]
CMP qword ptr [RSP + 0x40],0x0
MOV dword ptr [RSP + 0x18],0x0
MOV qword ptr [RSP],0x0
MOV qword ptr [RSP + 0x20],RAX
JZ 0x00310082
NOP dword ptr [RAX + RAX*0x1]
MOV RAX,qword ptr [RSP + 0x28]
CMP byte ptr [RSP + 0x5b],0x0
MOV EAX,dword ptr [RAX]
BSWAP EAX
MOV EAX,EAX
MOV qword ptr [RSP + 0x8],RAX
JNZ 0x00310040
MOV RAX,qword ptr [RSP + 0x28]
MOV dword ptr [RSP + 0x78],0x80000000
MOV dword ptr [RSP + 0x80],0x0
MOV R13D,dword ptr [RAX + 0x4]
MOV RAX,-0x100000000
MOV qword ptr [RSP + 0x70],RAX
BSWAP R13D
SHR R13D,0x8
CMP dword ptr [RSP + 0x5c],R13D
JBE 0x0030fbc8
CMP qword ptr [RSP + 0x170],0x0
JZ 0x0030fb60
MOV RAX,qword ptr [RSP + 0x170]
MOV RBX,qword ptr [RSP]
MOV RAX,qword ptr [RAX]
MOV RBX,qword ptr [RAX + RBX*0x8]
TEST RBX,RBX
JZ 0x0030fb60
MOV EAX,dword ptr [RBX + 0x1c]
LEA EDX,[RAX + -0x1]
CMP EDX,-0x3
JBE 0x0030fcf0
MOV dword ptr [RSP + 0x70],0xffffffff
MOV EAX,dword ptr [RBX + 0x40]
MOV dword ptr [RSP + 0x80],EAX
MOVZX EAX,byte ptr [RBX + 0x38]
AND EAX,0xf
CMP EAX,0x6
JZ 0x0030fcd0
CMP EAX,0xa
JNZ 0x0030fa6e
OR byte ptr [RSP + 0x7b],0x40
MOVZX EDX,byte ptr [RBX + 0x3b]
TEST DL,DL
JNS 0x0030fa98
MOVZX EAX,byte ptr [RBX + 0x3a]
AND EAX,0x7
JNZ 0x0030fd08
MOV R10D,dword ptr [RBX + 0x18]
TEST R10D,R10D
JNZ 0x0030fa98
AND EDX,0x20
JNZ 0x0030fd10
NOP dword ptr [RAX]
LEA RAX,[RSP + 0x70]
MOV qword ptr [RSP + 0x10],RAX
MOV R14,RAX
MOV RAX,-0x100000000
MOV dword ptr [RSP + 0x98],0x80000000
MOV qword ptr [RSP + 0x90],RAX
MOV RAX,qword ptr [RSP + 0x20]
MOV dword ptr [RSP + 0xa0],0x0
MOV qword ptr [RSP + 0x38],RAX
MOV RAX,qword ptr [RSP + 0x8]
TEST RAX,RAX
JS 0x0030fe48
CMP qword ptr [RSP + 0x168],RAX
JBE 0x0030fe48
MOV RAX,qword ptr [RSP + 0x8]
ADD RAX,qword ptr [RSP + 0x158]
JZ 0x0030fe48
MOV RAX,qword ptr [RSP + 0x28]
MOV RSI,qword ptr [0x0067dff8]
MOV R12D,dword ptr [RAX + 0x4]
BSWAP R12D
MOV R13D,R12D
AND R13D,0xff
JZ 0x00310098
LEA RDI,[0x5629b8]
CALL 0x00177320
MOV ESI,R13D
MOV RDI,RAX
XOR EAX,EAX
CALL 0x0034a750
LEA RDX,[0x566260]
MOV ESI,0xeb
LEA RDI,[0x5629e0]
CALL 0x00352af0
MOV RCX,qword ptr [R15 + 0x160]
MOV RAX,qword ptr [R15 + 0x168]
MOV EDX,R13D
MOV RSI,-0x5555555555555555
SUB RAX,RCX
SAR RAX,0x3
IMUL RAX,RSI
CMP RDX,RAX
JNC 0x003107b8
LEA RAX,[RDX + RDX*0x2]
LEA R14,[RCX + RAX*0x8]
MOV EAX,dword ptr [R14 + 0x8]
AND EAX,0x7ffffff
MOV dword ptr [RSP + 0x30],EAX
TEST byte ptr [R14 + 0xb],0x8
JZ 0x0030fbb3
TEST EAX,EAX
JNZ 0x0030fc80
LEA RAX,[RSP + 0x70]
XOR EBX,EBX
MOV qword ptr [RSP + 0x10],RAX
JMP 0x0030faa5
CMP qword ptr [RSP + 0x170],0x0
JZ 0x0030fbef
MOV RAX,qword ptr [RSP + 0x170]
MOV RBX,qword ptr [RSP]
MOV RAX,qword ptr [RAX]
MOV RBX,qword ptr [RAX + RBX*0x8]
TEST RBX,RBX
JNZ 0x0030fa33
MOV EAX,dword ptr [R15 + 0x120]
CMP R13D,EAX
JC 0x003107a0
MOV ECX,R13D
MOV RDX,qword ptr [R15 + 0x130]
SUB ECX,EAX
MOV RAX,qword ptr [R15 + 0x138]
SUB RAX,RDX
SAR RAX,0x3
CMP RCX,RAX
JNC 0x003107d0
MOV RBX,qword ptr [RDX + RCX*0x8]
TEST RBX,RBX
JZ 0x003107a0
TEST byte ptr [RBX + 0x3a],0x10
JZ 0x0030fa33
MOV RDI,qword ptr [RBP]
MOV RSI,RBX
CALL 0x00443580
MOV RBX,RAX
MOV EAX,dword ptr [RAX + 0x1c]
MOV ECX,dword ptr [RSP + 0x70]
LEA EDX,[RAX + -0x1]
CMP EDX,-0x3
JBE 0x0030fce0
TEST ECX,ECX
JZ 0x0030fa42
LEA RDX,[0x564b10]
MOV ESI,0x716
LEA RDI,[0x5333ac]
CALL 0x00352af0
MOV RCX,qword ptr [R15 + 0x50]
MOV RDX,qword ptr [R15 + 0x58]
SUB RDX,RCX
SAR RDX,0x3
CMP RAX,RDX
JNC 0x0031084d
MOV RBX,qword ptr [RCX + RAX*0x8]
TEST RBX,RBX
JNZ 0x0030fbb3
MOV EDX,dword ptr [RSP + 0x30]
MOV RDI,qword ptr [RBP]
MOV RSI,R15
CALL 0x00443530
TEST AL,AL
LEA RAX,[RSP + 0x70]
MOV qword ptr [RSP + 0x10],RAX
JZ 0x0030fd25
JMP 0x0030faa5
OR byte ptr [RSP + 0x7b],0x20
JMP 0x0030fa6e
TEST ECX,ECX
JZ 0x0030fcf0
CMP ECX,-0x2
JNZ 0x00310769
NOP dword ptr [RAX]
CMP EDX,-0x3
JZ 0x003107e8
MOV dword ptr [RSP + 0x70],EAX
JMP 0x0030fa4a
CMP AL,0x4
JNZ 0x0030fa98
LEA RAX,[RSP + 0x70]
MOV dword ptr [RSP + 0x30],0x0
MOV qword ptr [RSP + 0x10],RAX
MOV R14,RAX
MOV RAX,-0x100000000
MOV EDX,dword ptr [RBP + 0x30]
LEA RSI,[0x22c990]
MOV dword ptr [RSP + 0x98],0x80000000
MOV qword ptr [RSP + 0x90],RAX
MOV RAX,qword ptr [R15]
MOV dword ptr [RSP + 0xa0],0x0
MOV RAX,qword ptr [RAX + 0x80]
CMP RAX,RSI
JNZ 0x00310020
LEA R12,[RSP + 0xf0]
MOV RAX,qword ptr [RSP + 0x20]
LEA RSI,[R15 + 0xf8]
MOV RDI,R12
MOV qword ptr [RSP + 0x38],RAX
CALL 0x0022c800
MOV R9D,dword ptr [RSP + 0x18]
TEST R9D,R9D
JNZ 0x0030fff0
MOV RAX,qword ptr [RSP + 0xf0]
MOV ECX,0x6
LEA RDI,[0x533552]
MOV RSI,RAX
CMPSB.REPE RDI,RSI
SETA DL
SBB DL,0x0
TEST DL,DL
JNZ 0x0030fe78
MOV ESI,dword ptr [RSP + 0x30]
LEA RCX,[RSP + 0xd0]
MOV RDX,R12
MOV RDI,R15
CALL 0x00397c50
XOR EDX,EDX
CMP byte ptr [RSP + 0xd0],0x0
JZ 0x0030fde9
ADD EAX,dword ptr [R14 + 0x10]
MOV EDX,EAX
MOV dword ptr [RSP + 0xa0],EDX
MOV dword ptr [RSP + 0x18],0x1
MOV R8D,dword ptr [RSP + 0x90]
TEST R8D,R8D
JNZ 0x00310781
MOV RDI,qword ptr [RSP + 0xf0]
ADD R12,0x10
MOV dword ptr [RSP + 0x90],0xffffffff
CMP RDI,R12
JZ 0x0030fe2a
CALL 0x0049e340
MOV R14,qword ptr [RSP + 0x20]
MOV RAX,qword ptr [RSP + 0x8]
MOV qword ptr [RSP + 0x38],R14
TEST RAX,RAX
JNS 0x0030fae5
NOP word ptr [RAX + RAX*0x1]
LEA RDI,[0x533596]
CALL 0x00177320
MOV RDX,qword ptr [RSP + 0x8]
MOV RSI,qword ptr [RSP]
MOV RDI,RBP
MOV RCX,RAX
XOR EAX,EAX
MOV R8,RDX
CALL 0x0034aed0
JMP 0x003101ca
MOV ECX,0x7
LEA RDI,[0x533559]
MOV RSI,RAX
CMPSB.REPE RDI,RSI
SETA DL
SBB DL,0x0
TEST DL,DL
JZ 0x0030fdc0
MOV ECX,0x11
LEA RDI,[0x533561]
MOV RSI,RAX
CMPSB.REPE RDI,RSI
SETA DL
SBB DL,0x0
TEST DL,DL
JZ 0x0030fdc0
MOV ECX,0x5
LEA RDI,[0x533573]
MOV RSI,RAX
CMPSB.REPE RDI,RSI
SETA DL
SBB DL,0x0
TEST DL,DL
JZ 0x0030fdc0
MOV ECX,0x5
LEA RDI,[0x533579]
MOV RSI,RAX
CMPSB.REPE RDI,RSI
SETA DL
SBB DL,0x0
TEST DL,DL
JZ 0x0030fdc0
MOV ECX,0x4
LEA RDI,[0x53357f]
MOV RSI,RAX
CMPSB.REPE RDI,RSI
SETA DL
SBB DL,0x0
TEST DL,DL
JZ 0x0030fdc0
MOV ECX,0xa
LEA RDI,[0x535ecf]
MOV RSI,RAX
CMPSB.REPE RDI,RSI
SETA DL
SBB DL,0x0
TEST DL,DL
JZ 0x00310006
MOV RSI,RAX
MOV ECX,0x12
LEA RDI,[0x533584]
CMPSB.REPE RDI,RSI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x00310006
MOV RAX,qword ptr [RBP + 0x10]
MOV qword ptr [RSP + 0x18],RAX
TEST RBX,RBX
JZ 0x003105e8
LEA R14,[RSP + 0xd0]
MOV RSI,RBX
MOV RDI,R14
CALL 0x004443d0
MOV R8,qword ptr [RSP + 0xd0]
LEA RDI,[0x5338b8]
MOV qword ptr [RSP + 0x30],R8
CALL 0x00177320
MOV R8,qword ptr [RSP + 0x30]
MOV RDX,qword ptr [RSP + 0x8]
MOV RDI,RBP
MOV RSI,qword ptr [RSP]
MOV RCX,RAX
XOR EAX,EAX
CALL 0x0034aed0
MOV RDI,qword ptr [RSP + 0xd0]
ADD R14,0x10
CMP RDI,R14
JZ 0x0030ffbf
CALL 0x0049e340
MOV RDI,qword ptr [RSP + 0x18]
LEA RCX,[RSP + 0x67]
LEA RDX,[RSP + 0x68]
MOV ESI,R13D
CALL 0x0039d3c0
TEST EAX,EAX
JNZ 0x00310538
MOV dword ptr [RSP + 0x18],0x3
JMP 0x0031000e
CMP dword ptr [RSP + 0x18],0x1
JZ 0x0030fdc0
CMP dword ptr [RSP + 0x18],0x3
JZ 0x0030ff50
MOV dword ptr [RSP + 0x18],0x2
MOV dword ptr [RSP + 0xa0],0x0
JMP 0x0030fdf8
MOV RSI,qword ptr [RSP + 0x20]
LEA R12,[RSP + 0xf0]
MOV RDI,R12
MOV qword ptr [RSP + 0x38],RSI
MOV RSI,R15
CALL RAX
JMP 0x0030fd8b
MOV EDX,dword ptr [RBP + 0x30]
MOV RSI,qword ptr [RBP + 0x10]
MOV RCX,RAX
MOV RDI,qword ptr [RSP + 0x50]
CALL 0x003cff80
MOV qword ptr [RSP + 0x8],RAX
CMP RAX,-0x1
JNZ 0x0030f9cb
NOP dword ptr [RAX + RAX*0x1]
ADD qword ptr [RSP],0x1
MOV RAX,qword ptr [RSP]
ADD qword ptr [RSP + 0x28],0xc
CMP qword ptr [RSP + 0x40],RAX
JNZ 0x0030f9b0
ADD RSP,0x118
POP RBX
POP RBP
POP R12
POP R13
POP R14
POP R15
RET
MOV RAX,qword ptr [RSI]
TEST RAX,RAX
JZ 0x003104d0
MOV RSI,-0x100000000
MOV R13,qword ptr [RBP + 0x10]
MOV dword ptr [RSP + 0xb8],0x80000000
MOV qword ptr [RSP + 0xb0],RSI
MOV dword ptr [RSP + 0xc0],0x0
TEST RBX,RBX
JZ 0x00310460
MOV ESI,dword ptr [RAX + 0x4c]
MOV RDI,RBX
CALL 0x00228fa0
TEST AL,AL
JZ 0x00310109
MOV RAX,qword ptr [RSP + 0x48]
MOV RDI,qword ptr [RAX + 0x28]
TEST RDI,RDI
JZ 0x00310800
MOV RSI,RBX
CALL 0x002f9c90
MOV dword ptr [RSP + 0xc0],EAX
LEA RDI,[RSP + 0xb0]
CALL 0x001a5bc0
TEST RBX,RBX
JZ 0x003101ca
MOVZX EDX,byte ptr [RBX + 0x3a]
MOV EAX,EDX
AND EAX,0x7
JNZ 0x00310208
MOV EDI,dword ptr [RBX + 0x18]
TEST EDI,EDI
JNZ 0x0031013f
TEST byte ptr [RBX + 0x3b],0x20
JNZ 0x0031020c
MOV RDI,qword ptr [RBX + 0x10]
LEA R12,[0x1a4aa0]
MOV RAX,qword ptr [RDI]
MOV RAX,qword ptr [RAX + 0x28]
CMP RAX,R12
JNZ 0x003102c8
MOVZX EAX,byte ptr [RBX + 0x39]
AND EDX,0x7
AND EAX,0x3
JZ 0x003101c0
MOV ECX,dword ptr [RBX + 0x18]
TEST ECX,ECX
JNZ 0x00310177
TEST byte ptr [RBX + 0x3b],0x20
JNZ 0x003106f8
MOV RDX,qword ptr [RBX + 0x10]
TEST byte ptr [RDX + 0x3c],0x1
JZ 0x003101c0
CMP AL,0x2
JZ 0x003106e0
JBE 0x003101e8
LEA RDI,[0x5335bf]
CALL 0x00177320
MOV R13,RAX
MOV R12,qword ptr [RBX]
LEA RDI,[0x533a88]
CALL 0x00177320
MOV RSI,R13
MOV RDI,RAX
MOV RDX,R12
XOR EAX,EAX
CALL 0x0034a750
NOP dword ptr [RAX]
TEST byte ptr [RBX + 0x3b],0x4
JNZ 0x003103ff
MOV RDI,qword ptr [RSP + 0x20]
CALL 0x001a5bc0
MOV RDI,qword ptr [RSP + 0x10]
CALL 0x001a5bc0
JMP 0x00310068
CMP AL,0x1
JNZ 0x00310835
LEA RDI,[0x5335af]
CALL 0x00177320
MOV R13,RAX
JMP 0x0031019a
CMP AL,0x4
JNZ 0x00310260
MOVZX ECX,byte ptr [RBX + 0x38]
SHR CL,0x4
CMP CL,0x2
JZ 0x00310438
TEST byte ptr [RBX + 0x3c],0x2
JNZ 0x00310438
MOV RCX,qword ptr [0x0067cb08]
MOV RSI,qword ptr [RCX + 0x10]
TEST RSI,RSI
JZ 0x00310865
CMP byte ptr [RSI + 0x7739],0x0
JNZ 0x00310438
CMP byte ptr [RBX + 0x3b],0x0
JNS 0x00310305
TEST AL,AL
JZ 0x003105ac
NOP dword ptr [RAX]
MOVZX EAX,byte ptr [RBX + 0x39]
AND EAX,0x3
JZ 0x003101c0
AND EDX,0x7
CMP DL,0x4
JNZ 0x003101c0
MOVZX ECX,byte ptr [RBX + 0x38]
SHR CL,0x4
CMP CL,0x2
JZ 0x003101c0
TEST byte ptr [RBX + 0x3c],0x2
JNZ 0x003101c0
MOV RCX,qword ptr [0x0067cb08]
MOV RCX,qword ptr [RCX + 0x10]
TEST RCX,RCX
JZ 0x003108ca
CMP byte ptr [RCX + 0x7739],0x0
JZ 0x00310181
TEST DL,DL
JNZ 0x003101c0
JMP 0x00310177
CALL RAX
TEST RAX,RAX
JZ 0x00310438
MOVZX EDX,byte ptr [RBX + 0x3a]
MOV EAX,EDX
AND EAX,0x7
JNZ 0x00310588
MOV ESI,dword ptr [RBX + 0x18]
MOVZX ECX,byte ptr [RBX + 0x3b]
TEST ESI,ESI
JNZ 0x003102f6
TEST CL,0x20
JNZ 0x0031020c
TEST CL,CL
JS 0x003105b8
MOV RCX,qword ptr [0x0067cb08]
MOV RDI,qword ptr [RCX + 0x18]
TEST RDI,RDI
JZ 0x00310805
MOV RAX,qword ptr [RDI]
LEA RDX,[0x1a49e0]
MOV RAX,qword ptr [RAX + 0x38]
CMP RAX,RDX
JNZ 0x00310428
MOV R8,qword ptr [RCX + 0x10]
TEST R8,R8
JZ 0x0031081d
MOV RDX,qword ptr [R8 + 0x6c40]
TEST RDX,RDX
JZ 0x00310628
MOV ECX,0xb
LEA RDI,[0x52e056]
MOV RSI,RDX
CMPSB.REPE RDI,RSI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x00310438
MOV ECX,0xb
LEA RDI,[0x52e061]
MOV RSI,RDX
CMPSB.REPE RDI,RSI
SETA AL
SBB AL,0x0
TEST AL,AL
JZ 0x003103e1
MOV ECX,0x17
LEA RDI,[0x52e06c]
MOV RSI,RDX
MOVZX EAX,byte ptr [RBX + 0x39]
CMPSB.REPE RDI,RSI
SETA CL
SBB CL,0x0
AND EAX,0x3
TEST CL,CL
JNZ 0x003103aa
TEST byte ptr [RBX + 0x3b],0x1
JZ 0x0031043f
MOV RSI,RDX
MOV ECX,0x16
LEA RDI,[0x52e083]
CMPSB.REPE RDI,RSI
SETA DL
SBB DL,0x0
TEST DL,DL
JZ 0x003106c0
CMP AL,0x2
JZ 0x003103e1
CMP byte ptr [R8 + 0x2a61],0x0
JZ 0x003103e1
CMP byte ptr [R8 + 0x7f71],0x0
JZ 0x0031043f
MOV RCX,qword ptr [RSP + 0x8]
MOV RDX,qword ptr [RSP]
MOV RSI,RBP
MOV RDI,RBX
CALL 0x0034b9f0
TEST byte ptr [RBX + 0x3b],0x4
JZ 0x003101ca
MOV RAX,qword ptr [RBP]
MOV R8,qword ptr [RSP + 0x8]
MOV RDX,RBP
MOV RSI,RBX
MOV RCX,qword ptr [RSP]
LEA RDI,[RAX + 0x1e0]
CALL 0x00446c20
JMP 0x003101ca
MOV RSI,RBX
CALL RAX
TEST AL,AL
JZ 0x003106d0
NOP dword ptr [RAX]
MOVZX EAX,byte ptr [RBX + 0x39]
AND EAX,0x3
TEST AL,AL
JZ 0x003101c0
MOVZX EDX,byte ptr [RBX + 0x3a]
AND DL,0x7
JZ 0x00310166
JMP 0x00310270
TEST byte ptr [R14 + 0xb],0x40
JZ 0x00310109
SHR R12D,0x8
MOV RDI,R13
MOV ESI,R12D
CALL 0x00397bb0
TEST AL,AL
JZ 0x00310109
MOV RAX,qword ptr [RSP + 0x48]
MOV RAX,qword ptr [RAX + 0x28]
TEST RAX,RAX
JZ 0x003108c5
TEST byte ptr [RAX + 0x20],0x1
JZ 0x00310895
MOV RDX,qword ptr [RAX + 0x8]
MOV EAX,dword ptr [RAX + 0x68]
MOV ESI,R12D
MOV RDI,R13
SHL EAX,0x4
LEA R14,[RDX + RAX*0x1 + 0x20]
MOV RAX,qword ptr [R13]
CALL qword ptr [RAX + 0x150]
MOV EAX,EAX
ADD R14,RAX
MOV dword ptr [RSP + 0xc0],R14D
JMP 0x00310109
LEA R12,[RSP + 0xf0]
XOR EDX,EDX
MOV RDI,R12
CALL 0x0031d8d0
LEA RDI,[0x552d68]
MOV R13,qword ptr [RSP + 0xf0]
CALL 0x00177320
MOV RSI,qword ptr [RSP + 0x28]
MOV RDI,RBP
MOV RCX,RAX
MOV R8,R13
XOR EAX,EAX
MOV EDX,dword ptr [RSI]
MOV RSI,qword ptr [RSP]
BSWAP EDX
MOV EDX,EDX
CALL 0x0034aed0
MOV RDI,qword ptr [RSP + 0xf0]
ADD R12,0x10
CMP RDI,R12
JZ 0x00310116
CALL 0x0049e340
JMP 0x00310116
MOV RDI,qword ptr [RSP + 0x18]
LEA RDX,[RSP + 0x6c]
MOV ESI,EAX
CALL 0x00397ec0
MOV ESI,dword ptr [RSP + 0x6c]
MOV R13,RAX
TEST ESI,ESI
JNZ 0x00310720
TEST R13,R13
JZ 0x0030ffde
MOV R13,qword ptr [R13 + 0x8]
LEA RDI,[0x533930]
CALL 0x00177320
MOV RDI,RAX
MOV RSI,R13
XOR EAX,EAX
CALL 0x0034a8b0
JMP 0x0030ffde
CMP AL,0x4
JZ 0x0031020c
CMP byte ptr [RBX + 0x3b],0x0
JNS 0x003102fe
MOVZX EAX,byte ptr [RBX + 0x39]
AND EAX,0x3
JZ 0x003101c0
JMP 0x0031026d
LEA R12,[0x1a4aa0]
NOP dword ptr [RAX + RAX*0x1]
MOV RDI,qword ptr [RBX + 0x10]
MOV RAX,qword ptr [RDI]
MOV RAX,qword ptr [RAX + 0x28]
CMP RAX,R12
JZ 0x0031015a
CALL RAX
MOV RCX,qword ptr [0x0067cb08]
TEST RAX,RAX
JNZ 0x00310305
JMP 0x00310438
MOV ESI,R13D
MOV RDI,RAX
CALL 0x0039dd50
LEA RDI,[0x533860]
MOV R14,RAX
CALL 0x00177320
MOV RDX,qword ptr [RSP + 0x8]
MOV R9D,R13D
MOV R8,R14
MOV RSI,qword ptr [RSP]
MOV RCX,RAX
MOV RDI,RBP
XOR EAX,EAX
CALL 0x0034aed0
JMP 0x0030ffbf
MOVZX EAX,byte ptr [RBX + 0x39]
AND EAX,0x3
JMP 0x003103c9
MOV EDX,dword ptr [RSI + 0x30]
MOV RDI,qword ptr [RSP + 0x50]
MOV RSI,R15
CALL 0x003cfdd0
TEST RAX,RAX
JZ 0x00310760
MOVZX ECX,byte ptr [RAX + 0x20]
TEST CL,0x1
JZ 0x003108fa
AND ECX,0x2
MOV RDX,qword ptr [RAX + 0x8]
JZ 0x003108e2
MOV RSI,qword ptr [RAX + 0x10]
CMP dword ptr [RSP + 0x160],EDX
JA 0x003108ad
MOV ECX,EDX
MOV EAX,dword ptr [RSP + 0x160]
ADD RAX,qword ptr [RSP + 0x168]
ADD RCX,RSI
CMP RCX,RAX
JA 0x003108ad
SUB EDX,dword ptr [RSP + 0x160]
MOV R15,qword ptr [RBP + 0x10]
MOV qword ptr [RSP + 0x168],RSI
ADD qword ptr [RSP + 0x158],RDX
JMP 0x0030f958
CMP byte ptr [RBX + 0x3a],0x0
JS 0x003103c9
JMP 0x0031043f
MOV RCX,qword ptr [0x0067cb08]
JMP 0x00310329
LEA RDI,[0x5335b8]
CALL 0x00177320
MOV R13,RAX
JMP 0x0031019a
MOVZX ECX,byte ptr [RBX + 0x38]
SHR CL,0x4
CMP CL,0x2
JZ 0x00310177
TEST byte ptr [RBX + 0x3c],0x2
JZ 0x00310293
JMP 0x00310177
MOV RDI,qword ptr [RSP + 0x18]
CALL 0x0039dd50
LEA RDI,[0x533910]
MOV R14,RAX
CALL 0x00177320
MOV RSI,R14
MOV RDI,RAX
XOR EAX,EAX
CALL 0x0034a8b0
JMP 0x00310558
CALL RDX
MOV dword ptr [RSP + 0x5c],EAX
JMP 0x0030f97f
MOV R15,qword ptr [RBP + 0x10]
JMP 0x0030f958
LEA RDX,[0x564b30]
MOV ESI,0x70c
LEA RDI,[0x5333ac]
CALL 0x00352af0
LEA RDX,[0x564b10]
MOV ESI,0x716
LEA RDI,[0x5333ac]
CALL 0x00352af0
LEA RDX,[0x564370]
MOV ESI,0x17f
LEA RDI,[0x5334ee]
CALL 0x00352af0
LEA RDX,[0x564468]
MOV ESI,0x8c1
LEA RDI,[0x5333ac]
CALL 0x00352af0
LEA RDX,[0x564478]
MOV ESI,0x8ad
LEA RDI,[0x5333ac]
CALL 0x00352af0
LEA RDX,[0x564b30]
MOV ESI,0x70d
LEA RDI,[0x5333ac]
CALL 0x00352af0
CALL 0x002ed4a0
LEA RDX,[0x565ff1]
MOV ESI,0x69
LEA RDI,[0x52e279]
CALL 0x00352af0
LEA RDX,[0x5664e8]
MOV ESI,0x5c
LEA RDI,[0x52e279]
CALL 0x00352af0
LEA RDX,[0x565fe0]
MOV ESI,0xa4
LEA RDI,[0x5334ee]
CALL 0x00352af0
LEA RDX,[0x5663d0]
MOV ESI,0x50b
LEA RDI,[0x5333ac]
CALL 0x00352af0
LEA RDX,[0x5664e8]
MOV ESI,0x5c
LEA RDI,[0x52e279]
CALL 0x00352af0
LEA RDX,[0x564390]
MOV ESI,0x1fca
LEA RDI,[0x5628cf]
CALL 0x00352af0
LEA RDX,[0x566640]
MOV ESI,0xc5
LEA RDI,[0x533384]
CALL 0x00352af0
LEA RDX,[0x564390]
MOV ESI,0x1fda
LEA RDI,[0x5628cf]
CALL 0x00352af0
CALL 0x002ed4a0
LEA RDX,[0x5664e8]
MOV ESI,0x5c
LEA RDI,[0x52e279]
CALL 0x00352af0
LEA RDX,[0x566660]
MOV ESI,0xcf
LEA RDI,[0x533384]
CALL 0x00352af0
LEA RDX,[0x566640]
MOV ESI,0xc5
LEA RDI,[0x533384]
CALL 0x00352af0
(translation_unit "void FUN_0030f910(long param_1,long *param_2,int param_3,uint *param_4,long param_5,\n                 undefined8 param_6,char param_7,long param_8,uint param_9,ulong param_10,\n                 long *param_11)\n\n{\n  uint uVar1;\n  code *pcVar2;\n  long *plVar3;\n  char cVar4;\n  byte bVar5;\n  uint uVar6;\n  int iVar7;\n  int iVar8;\n  undefined8 uVar9;\n  undefined8 *puVar10;\n  undefined8 uVar11;\n  undefined8 uVar12;\n  long lVar13;\n  ulong uVar14;\n  long lVar15;\n  byte bVar16;\n  uint uVar17;\n  byte *pbVar18;\n  byte *pbVar19;\n  byte *pbVar20;\n  uint uVar21;\n  undefined8 *puVar22;\n  long *plVar23;\n  bool bVar24;\n  bool bVar25;\n  bool bVar26;\n  byte bVar27;\n  long local_148;\n  ulong local_140;\n  undefined8 *local_138;\n  uint *local_120;\n  uint local_ec;\n  undefined1 local_e1;\n  undefined1 local_e0 [4];\n  int local_dc;\n  undefined8 local_d8;\n  uint local_d0;\n  undefined4 local_c8;\n  undefined8 local_b8;\n  undefined4 local_b0;\n  int local_a8;\n  undefined8 local_98;\n  undefined4 local_90;\n  int local_88;\n  char local_78;\n  undefined7 uStack_77;\n  undefined1 auStack_68 [16];\n  byte *local_58 [2];\n  byte abStack_48 [24];\n  \n  bVar27 = 0;\n  if (param_3 != 4) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00352af0("../../gold/aarch64.cc",0x1fca,"relocate_section");\n  }\n  plVar23 = (long *)param_2[2];\n  if (param_7 != '\0') {\n    lVar13 = FUN_003cfdd0(param_6,plVar23,(int)param_2[6]);\n    if (lVar13 == 0) {\n      plVar23 = (long *)param_2[2];\n    }\n    else {\n      if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/output.h",0xc5,"address");\n      }\n      if ((*(byte *)(lVar13 + 0x20) & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/output.h",0xcf,"data_size");\n      }\n      uVar21 = (uint)*(ulong *)(lVar13 + 8);\n      if ((uVar21 < param_9) ||\n         (param_9 + param_10 < (*(ulong *)(lVar13 + 8) & 0xffffffff) + *(ulong *)(lVar13 + 0x10))) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/aarch64.cc",0x1fda,"relocate_section");\n      }\n      plVar23 = (long *)param_2[2];\n      param_8 = param_8 + (ulong)(uVar21 - param_9);\n      param_10 = *(ulong *)(lVar13 + 0x10);\n    }\n  }\n  pcVar2 = *(code **)(*plVar23 + 0x118);\n  if (pcVar2 == FUN_001a4ab0) {\n    local_ec = (**(code **)(*plVar23 + 0x178))();\n  }\n  else {\n    local_ec = (*pcVar2)(plVar23);\n  }\n  iVar8 = 0;\n  local_148 = 0;\n  local_120 = param_4;\n  if (param_5 != 0) {\n    do {\n      uVar21 = *local_120;\n      local_140 = (ulong)(uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18);\n      if ((param_7 == '\0') ||\n         (local_140 = FUN_003cff80(param_6,param_2[2],(int)param_2[6],local_140),\n         local_140 != 0xffffffffffffffff)) {\n        local_d0 = 0x80000000;\n        local_c8 = 0;\n        uVar21 = local_120[1];\n        local_d8 = 0xffffffff00000000;\n        uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n        if (uVar21 < local_ec) {\n          if ((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))\n          {\nLAB_0030fa33:\n            iVar7 = *(int *)((long)puVar10 + 0x1c);\n            uVar17 = iVar7 - 1;\n            if (0xfffffffd < uVar17) goto LAB_0030fa42;\nLAB_0030fcf0:\n            if (uVar17 == 0xfffffffd) {\n                    /* WARNING: Subroutine does not return */\n              FUN_00352af0("../../gold/object.h",0x70d,"set_output_symtab_index");\n            }\n            local_d8 = CONCAT44(local_d8._4_4_,iVar7);\n            goto LAB_0030fa4a;\n          }\n          if ((ulong)((plVar23[0x2d] - plVar23[0x2c] >> 3) * -0x5555555555555555) <= (ulong)uVar21)\n          {\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/object.h",0x8c1,"local_symbol");\n          }\n          puVar22 = (undefined8 *)(plVar23[0x2c] + (ulong)uVar21 * 0x18);\n          uVar1 = *(uint *)(puVar22 + 1);\n          uVar6 = uVar1 & 0x7ffffff;\n          uVar17 = uVar1 & 0x7ffffff;\n          if (((*(byte *)((long)puVar22 + 0xb) & 8) == 0) || (uVar6 == 0)) {\nLAB_0030fbb3:\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }\n          if ((ulong)(plVar23[0xb] - plVar23[10] >> 3) <= (ulong)uVar6) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310860 to 00310864 has its CatchHandler @ 0031092a */\n            FUN_00352af0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(long *)(plVar23[10] + (ulong)uVar6 * 8) != 0) goto LAB_0030fbb3;\n          cVar4 = FUN_00443530(*param_2,plVar23,uVar1 & 0x7ffffff);\n          puVar10 = (undefined8 *)0x0;\n          if (cVar4 != '\0') {\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }\nLAB_0030fd25:\n          local_b0 = 0x80000000;\n          local_b8 = 0xffffffff00000000;\n          local_a8 = 0;\n          if (*(code **)(*plVar23 + 0x80) == FUN_0022c990) {\n                    /* try { // try from 0030fd86 to 0030fd8a has its CatchHandler @ 00310922 */\n            FUN_0022c800(local_58,plVar23 + 0x1f);\n          }\n          else {\n                    /* try { // try from 00310038 to 00310039 has its CatchHandler @ 00310922 */\n            (**(code **)(*plVar23 + 0x80))(local_58,plVar23,(int)param_2[6]);\n          }\n          bVar24 = false;\n          bVar26 = iVar8 == 0;\n          if (bVar26) {\n            lVar13 = 6;\n            pbVar18 = local_58[0];\n            pbVar19 = &DAT_00533552;\n            do {\n              if (lVar13 == 0) break;\n              lVar13 = lVar13 + -1;\n              bVar24 = *pbVar18 < *pbVar19;\n              bVar26 = *pbVar18 == *pbVar19;\n              pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n              pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n            } while (bVar26);\n            bVar25 = false;\n            bVar24 = (!bVar24 && !bVar26) == bVar24;\n            if (!bVar24) {\n              lVar13 = 7;\n              pbVar18 = local_58[0];\n              pbVar19 = (byte *)".zdebug";\n              do {\n                if (lVar13 == 0) break;\n                lVar13 = lVar13 + -1;\n                bVar25 = *pbVar18 < *pbVar19;\n                bVar24 = *pbVar18 == *pbVar19;\n                pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar13 = 0x11;\n                pbVar18 = local_58[0];\n                pbVar19 = (byte *)".gnu.linkonce.wi.";\n                do {\n                  if (lVar13 == 0) break;\n                  lVar13 = lVar13 + -1;\n                  bVar26 = *pbVar18 < *pbVar19;\n                  bVar24 = *pbVar18 == *pbVar19;\n                  pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  lVar13 = 5;\n                  pbVar18 = local_58[0];\n                  pbVar19 = (byte *)".line";\n                  do {\n                    if (lVar13 == 0) break;\n                    lVar13 = lVar13 + -1;\n                    bVar25 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    lVar13 = 5;\n                    pbVar18 = local_58[0];\n                    pbVar19 = (byte *)".stab";\n                    do {\n                      if (lVar13 == 0) break;\n                      lVar13 = lVar13 + -1;\n                      bVar26 = *pbVar18 < *pbVar19;\n                      bVar24 = *pbVar18 == *pbVar19;\n                      pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                      pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      lVar13 = 4;\n                      pbVar18 = local_58[0];\n                      pbVar19 = &DAT_0053357f;\n                      do {\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0030fdc0:\n                    /* try { // try from 0030fdd2 to 0030fdd6 has its CatchHandler @ 00310912 */\n            iVar8 = FUN_00397c50(plVar23,uVar17,local_58,&local_78);\n            local_a8 = 0;\n            if (local_78 != '\0') {\n              local_a8 = iVar8 + *(int *)(puVar22 + 2);\n            }\n            iVar8 = 1;\n          }\n          else {\n            if (iVar8 == 1) goto LAB_0030fdc0;\n            if (iVar8 == 3) {\nLAB_0030ff50:\n              lVar13 = param_2[2];\n              if (puVar10 == (undefined8 *)0x0) {\n                    /* try { // try from 003105ee to 0031061d has its CatchHandler @ 00310912 */\n                uVar9 = FUN_0039dd50(lVar13,uVar21);\n                uVar11 = gettext(\n                                "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                );\n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9,uVar21);\n              }\n              else {\n                    /* try { // try from 0030ff70 to 0030ff74 has its CatchHandler @ 00310912 */\n                FUN_004443d0(&local_78,puVar10);\n                uVar9 = CONCAT71(uStack_77,local_78);\n                uVar11 = gettext(\n                                "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                );\n                    /* try { // try from 0030ffa4 to 0030ffa8 has its CatchHandler @ 0031093c */\n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9);\n                if ((undefined1 *)CONCAT71(uStack_77,local_78) != auStack_68) {\n                  FUN_0049e340();\n                }\n              }\n                    /* try { // try from 0030ffd1 to 0030ffd5 has its CatchHandler @ 00310912 */\n              iVar8 = FUN_0039d3c0(lVar13,uVar21,local_e0,&local_e1);\n              if (iVar8 != 0) {\n                    /* try { // try from 00310544 to 0031057d has its CatchHandler @ 00310912 */\n                lVar15 = FUN_00397ec0(lVar13,iVar8,&local_dc);\n                if (local_dc != 0) {\n                    /* try { // try from 00310725 to 00310745 has its CatchHandler @ 00310912 */\n                  uVar9 = FUN_0039dd50(lVar13);\n                  uVar11 = gettext("  section group signature: \"%s\"");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n                if (lVar15 != 0) {\n                  uVar9 = *(undefined8 *)(lVar15 + 8);\n                  uVar11 = gettext("  prevailing definition is from %s");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n              }\n              iVar8 = 3;\n            }\n            else {\nLAB_00310006:\n              iVar8 = 2;\n            }\n            local_a8 = 0;\n          }\n          if ((int)local_b8 != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310794 to 00310798 has its CatchHandler @ 00310912 */\n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\n          local_b8 = CONCAT44(local_b8._4_4_,0xffffffff);\n          if (local_58[0] != abStack_48) {\n            FUN_0049e340();\n          }\n          puVar22 = &local_b8;\n          if (-1 < (long)local_140) goto LAB_0030fae5;\nLAB_0030fe48:\n          uVar9 = gettext("reloc has bad offset %zu");\n                    /* try { // try from 0030fe68 to 0030fe6c has its CatchHandler @ 00310922 */\n          FUN_0034aed0(param_2,local_148,local_140,uVar9,local_140);\n        }\n        else {\n          if ((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))\n          goto LAB_0030fa33;\n          if (uVar21 < *(uint *)(plVar23 + 0x24)) {\nLAB_003107a0:\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003107b3 to 003107ff has its CatchHandler @ 0031092a */\n            FUN_00352af0("../../gold/target-reloc.h",0x17f,"relocate_section");\n          }\n          uVar14 = (ulong)(uVar21 - *(uint *)(plVar23 + 0x24));\n          if ((ulong)(plVar23[0x27] - plVar23[0x26] >> 3) <= uVar14) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/object.h",0x8ad,"global_symbol");\n          }\n          puVar10 = *(undefined8 **)(plVar23[0x26] + uVar14 * 8);\n          if (puVar10 == (undefined8 *)0x0) goto LAB_003107a0;\n          if ((*(byte *)((long)puVar10 + 0x3a) & 0x10) == 0) goto LAB_0030fa33;\n                    /* try { // try from 0030fc40 to 0030fcb4 has its CatchHandler @ 0031092a */\n          puVar10 = (undefined8 *)FUN_00443580(*param_2,puVar10);\n          iVar7 = *(int *)((long)puVar10 + 0x1c);\n          uVar17 = iVar7 - 1;\n          if (uVar17 < 0xfffffffe) {\n            if (((int)local_d8 != 0) && ((int)local_d8 != -2)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0031077c to 00310780 has its CatchHandler @ 0031092a */\n              FUN_00352af0("../../gold/object.h",0x70c,"set_output_symtab_index");\n            }\n            goto LAB_0030fcf0;\n          }\n          if ((int)local_d8 != 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\nLAB_0030fa42:\n          local_d8 = CONCAT44(local_d8._4_4_,0xffffffff);\nLAB_0030fa4a:\n          local_c8 = *(undefined4 *)(puVar10 + 8);\n          if ((*(byte *)(puVar10 + 7) & 0xf) == 6) {\n            local_d0 = local_d0 | 0x20000000;\n          }\n          else if ((*(byte *)(puVar10 + 7) & 0xf) == 10) {\n            local_d0 = local_d0 | 0x40000000;\n          }\n          if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') {\n            if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) {\nLAB_0030fd10:\n                puVar22 = &local_d8;\n                uVar17 = 0;\n                goto LAB_0030fd25;\n              }\n            }\n            else if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 4) goto LAB_0030fd10;\n          }\n          puVar22 = &local_d8;\nLAB_0030faa5:\n          local_b0 = 0x80000000;\n          local_b8 = 0xffffffff00000000;\n          local_a8 = 0;\n          if ((long)local_140 < 0) goto LAB_0030fe48;\nLAB_0030fae5:\n          if ((param_10 <= local_140) || (local_140 + param_8 == 0)) goto LAB_0030fe48;\n          uVar21 = local_120[1];\n          if (uVar21 >> 0x18 != 0) {\n            uVar9 = gettext("Invalid/unrecognized reloc reloc %d.");\n                    /* try { // try from 0030fb3d to 0030fb59 has its CatchHandler @ 00310922 */\n            FUN_0034a750(uVar9,uVar21 >> 0x18);\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/aarch64-reloc-property.h",0xeb,"code_to_array_index");\n          }\n          if (*DAT_0067dff8 == 0) {\n                    /* try { // try from 003104dd to 003104e1 has its CatchHandler @ 00310922 */\n            FUN_0031d8d0(local_58,DAT_0067dff8,0);\n            pbVar18 = local_58[0];\n            uVar9 = gettext("cannot relocate %s in object file");\n            uVar21 = *local_120;\n                    /* try { // try from 00310510 to 00310514 has its CatchHandler @ 0031091a */\n            FUN_0034aed0(param_2,local_148,\n                         uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18,uVar9,pbVar18);\n            if (local_58[0] != abStack_48) {\n              FUN_0049e340();\n            }\n          }\n          else {\n            plVar3 = (long *)param_2[2];\n            local_90 = 0x80000000;\n            local_98 = 0xffffffff00000000;\n            local_88 = 0;\n            if (puVar10 == (undefined8 *)0x0) {\n              if ((*(byte *)((long)puVar22 + 0xb) & 0x40) != 0) {\n                uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n                    /* try { // try from 00310475 to 003104bc has its CatchHandler @ 00310944 */\n                cVar4 = FUN_00397bb0(plVar3,uVar21);\n                if (cVar4 != '\0') {\n                  lVar13 = *(long *)(param_1 + 0x28);\n                  if (lVar13 == 0) {\n                    /* try { // try from 003108c5 to 003108c9 has its CatchHandler @ 00310944 */\n                    FUN_002ed4a0();\n                    goto LAB_003108ca;\n                  }\n                  if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108a8 to 003108ac has its CatchHandler @ 00310944 */\n                    FUN_00352af0("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar9 = *(undefined8 *)(lVar13 + 8);\n                  iVar7 = *(int *)(lVar13 + 0x68);\n                  local_88 = (**(code **)(*plVar3 + 0x150))(plVar3,uVar21);\n                  local_88 = (int)uVar9 + 0x20 + iVar7 * 0x10 + local_88;\n                }\n              }\n            }\n            else {\n                    /* try { // try from 003100df to 00310101 has its CatchHandler @ 00310944 */\n              cVar4 = FUN_00228fa0(puVar10,*(undefined4 *)(*DAT_0067dff8 + 0x4c));\n              if (cVar4 != '\0') {\n                if (*(long *)(param_1 + 0x28) == 0) {\n                    /* try { // try from 00310800 to 00310804 has its CatchHandler @ 00310944 */\n                  FUN_002ed4a0();\n                  goto LAB_00310805;\n                }\n                local_88 = FUN_002f9c90(*(long *)(param_1 + 0x28),puVar10);\n              }\n            }\n            FUN_001a5bc0(&local_98);\n          }\n          if (puVar10 != (undefined8 *)0x0) {\n            bVar16 = *(byte *)((long)puVar10 + 0x3a);\n            bVar5 = bVar16 & 7;\n            if ((bVar16 & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) != 0) || ((*(byte *)((long)puVar10 + 0x3b) & 0x20) == 0)) {\n                if (*(code **)(*(long *)puVar10[2] + 0x28) != FUN_001a4aa0) {\n                  lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                  if (lVar13 != 0) {\n                    bVar16 = *(byte *)((long)puVar10 + 0x3a);\n                    bVar5 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar5 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)puVar10 + 0x3b)) goto LAB_00310305;\n                    bVar5 = *(byte *)((long)puVar10 + 0x39);\n                    if ((bVar5 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }\nLAB_0031015a:\n                bVar16 = bVar16 & 7;\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                if ((*(byte *)((long)puVar10 + 0x39) & 3) == 0) goto LAB_003101c0;\nLAB_00310166:\n                if (((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)\n                    ) && ((*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0)))) {\nLAB_00310293:\n                  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_003108ca:\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108dd to 003108e1 has its CatchHandler @ 00310922 */\n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') {\n                    if (bVar16 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)(puVar10[2] + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }\n                if (bVar5 == 2) {\n                  uVar9 = gettext("hidden");\n                }\n                else if (bVar5 < 3) {\n                  if (bVar5 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar9 = gettext("internal");\n                }\n                else {\n                  uVar9 = gettext("protected");\n                }\n                uVar11 = *puVar10;\n                uVar12 = gettext("%s symbol \'%s\' is not defined locally");\n                    /* try { // try from 003101b4 to 0031042c has its CatchHandler @ 00310922 */\n                FUN_0034a750(uVar12,uVar9,uVar11);\n                goto LAB_003101c0;\n              }\nLAB_0031020c:\n              if ((*(byte *)(puVar10 + 7) >> 4 == 2) || ((*(byte *)((long)puVar10 + 0x3c) & 2) != 0)\n                 ) {\nLAB_00310438:\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_0031043f:\n                if (bVar5 == 0) goto LAB_003101c0;\n                bVar16 = *(byte *)((long)puVar10 + 0x3a) & 7;\n                if (bVar16 != 0) goto LAB_00310270;\n                goto LAB_00310166;\n              }\n              if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310878 to 0031087c has its CatchHandler @ 00310922 */\n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') goto LAB_00310438;\n              if (*(char *)((long)puVar10 + 0x3b) < '\0') {\n                if (bVar5 != 0) goto LAB_00310260;\nLAB_003105b8:\n                if (*(code **)(*(long *)puVar10[2] + 0x28) == FUN_001a4aa0) goto LAB_0031015a;\n                    /* try { // try from 003105cc to 003105cd has its CatchHandler @ 00310922 */\n                lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                if (lVar13 == 0) goto LAB_00310438;\n              }\nLAB_00310305:\n              plVar3 = *(long **)(PTR_DAT_0067cb08 + 0x18);\n              if (plVar3 == (long *)0x0) {\nLAB_00310805:\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310818 to 0031084c has its CatchHandler @ 00310922 */\n                FUN_00352af0("../../gold/parameters.h",0x69,"target");\n              }\n              if ((*(code **)(*plVar3 + 0x38) != FUN_001a49e0) &&\n                 (cVar4 = (**(code **)(*plVar3 + 0x38))(plVar3,puVar10), cVar4 != '\0'))\n              goto LAB_00310438;\n              lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar13 == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              pbVar18 = *(byte **)(lVar13 + 0x6c40);\n              bVar24 = false;\n              bVar26 = pbVar18 == (byte *)0x0;\n              if (bVar26) {\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_003103c9:\n                if ((bVar5 == 2) ||\n                   ((*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0'))))\n                goto LAB_003103e1;\n                goto LAB_0031043f;\n              }\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"ignore-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar24 = *pbVar19 < *pbVar20;\n                bVar26 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar26);\n              bVar25 = false;\n              bVar24 = (!bVar24 && !bVar26) == bVar24;\n              if (bVar24) goto LAB_00310438;\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"report-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar25 = *pbVar19 < *pbVar20;\n                bVar24 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar15 = 0x17;\n                pbVar19 = pbVar18;\n                pbVar20 = (byte *)"ignore-in-object-files";\n                do {\n                  if (lVar15 == 0) break;\n                  lVar15 = lVar15 + -1;\n                  bVar26 = *pbVar19 < *pbVar20;\n                  bVar24 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if ((!bVar24) || (bVar24 = (*(byte *)((long)puVar10 + 0x3b) & 1) == 0, !bVar24)) {\n                  bVar26 = false;\n                  lVar15 = 0x16;\n                  pbVar19 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    if (lVar15 == 0) break;\n                    lVar15 = lVar15 + -1;\n                    bVar26 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  if (((!bVar26 && !bVar24) != bVar26) || (*(char *)((long)puVar10 + 0x3a) < '\0'))\n                  goto LAB_003103c9;\n                }\n                goto LAB_0031043f;\n              }\nLAB_003103e1:\n              FUN_0034b9f0(puVar10,param_2,local_148,local_140);\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            else {\n              if (bVar5 == 4) goto LAB_0031020c;\nLAB_00310260:\n              bVar5 = *(byte *)((long)puVar10 + 0x39);\n              if ((bVar5 & 3) != 0) {\nLAB_0031026d:\n                bVar5 = bVar5 & 3;\n                bVar16 = bVar16 & 7;\nLAB_00310270:\n                if (((bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2)) &&\n                   (bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0)) goto LAB_00310293;\n              }\nLAB_003101c0:\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            if ((bVar16 & 4) != 0) {\n              FUN_00446c20(*param_2 + 0x1e0,puVar10,param_2,local_148,local_140);\n            }\n          }\n        }\n        local_138 = &local_d8;\n        FUN_001a5bc0(&local_b8);\n        FUN_001a5bc0(local_138);\n      }\n      local_148 = local_148 + 1;\n      local_120 = local_120 + 3;\n    } while (param_5 != local_148);\n  }\n  return;\n}\n\n" (function_definition "void FUN_0030f910(long param_1,long *param_2,int param_3,uint *param_4,long param_5,\n                 undefined8 param_6,char param_7,long param_8,uint param_9,ulong param_10,\n                 long *param_11)\n\n{\n  uint uVar1;\n  code *pcVar2;\n  long *plVar3;\n  char cVar4;\n  byte bVar5;\n  uint uVar6;\n  int iVar7;\n  int iVar8;\n  undefined8 uVar9;\n  undefined8 *puVar10;\n  undefined8 uVar11;\n  undefined8 uVar12;\n  long lVar13;\n  ulong uVar14;\n  long lVar15;\n  byte bVar16;\n  uint uVar17;\n  byte *pbVar18;\n  byte *pbVar19;\n  byte *pbVar20;\n  uint uVar21;\n  undefined8 *puVar22;\n  long *plVar23;\n  bool bVar24;\n  bool bVar25;\n  bool bVar26;\n  byte bVar27;\n  long local_148;\n  ulong local_140;\n  undefined8 *local_138;\n  uint *local_120;\n  uint local_ec;\n  undefined1 local_e1;\n  undefined1 local_e0 [4];\n  int local_dc;\n  undefined8 local_d8;\n  uint local_d0;\n  undefined4 local_c8;\n  undefined8 local_b8;\n  undefined4 local_b0;\n  int local_a8;\n  undefined8 local_98;\n  undefined4 local_90;\n  int local_88;\n  char local_78;\n  undefined7 uStack_77;\n  undefined1 auStack_68 [16];\n  byte *local_58 [2];\n  byte abStack_48 [24];\n  \n  bVar27 = 0;\n  if (param_3 != 4) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00352af0("../../gold/aarch64.cc",0x1fca,"relocate_section");\n  }\n  plVar23 = (long *)param_2[2];\n  if (param_7 != '\0') {\n    lVar13 = FUN_003cfdd0(param_6,plVar23,(int)param_2[6]);\n    if (lVar13 == 0) {\n      plVar23 = (long *)param_2[2];\n    }\n    else {\n      if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/output.h",0xc5,"address");\n      }\n      if ((*(byte *)(lVar13 + 0x20) & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/output.h",0xcf,"data_size");\n      }\n      uVar21 = (uint)*(ulong *)(lVar13 + 8);\n      if ((uVar21 < param_9) ||\n         (param_9 + param_10 < (*(ulong *)(lVar13 + 8) & 0xffffffff) + *(ulong *)(lVar13 + 0x10))) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/aarch64.cc",0x1fda,"relocate_section");\n      }\n      plVar23 = (long *)param_2[2];\n      param_8 = param_8 + (ulong)(uVar21 - param_9);\n      param_10 = *(ulong *)(lVar13 + 0x10);\n    }\n  }\n  pcVar2 = *(code **)(*plVar23 + 0x118);\n  if (pcVar2 == FUN_001a4ab0) {\n    local_ec = (**(code **)(*plVar23 + 0x178))();\n  }\n  else {\n    local_ec = (*pcVar2)(plVar23);\n  }\n  iVar8 = 0;\n  local_148 = 0;\n  local_120 = param_4;\n  if (param_5 != 0) {\n    do {\n      uVar21 = *local_120;\n      local_140 = (ulong)(uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18);\n      if ((param_7 == '\0') ||\n         (local_140 = FUN_003cff80(param_6,param_2[2],(int)param_2[6],local_140),\n         local_140 != 0xffffffffffffffff)) {\n        local_d0 = 0x80000000;\n        local_c8 = 0;\n        uVar21 = local_120[1];\n        local_d8 = 0xffffffff00000000;\n        uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n        if (uVar21 < local_ec) {\n          if ((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))\n          {\nLAB_0030fa33:\n            iVar7 = *(int *)((long)puVar10 + 0x1c);\n            uVar17 = iVar7 - 1;\n            if (0xfffffffd < uVar17) goto LAB_0030fa42;\nLAB_0030fcf0:\n            if (uVar17 == 0xfffffffd) {\n                    /* WARNING: Subroutine does not return */\n              FUN_00352af0("../../gold/object.h",0x70d,"set_output_symtab_index");\n            }\n            local_d8 = CONCAT44(local_d8._4_4_,iVar7);\n            goto LAB_0030fa4a;\n          }\n          if ((ulong)((plVar23[0x2d] - plVar23[0x2c] >> 3) * -0x5555555555555555) <= (ulong)uVar21)\n          {\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/object.h",0x8c1,"local_symbol");\n          }\n          puVar22 = (undefined8 *)(plVar23[0x2c] + (ulong)uVar21 * 0x18);\n          uVar1 = *(uint *)(puVar22 + 1);\n          uVar6 = uVar1 & 0x7ffffff;\n          uVar17 = uVar1 & 0x7ffffff;\n          if (((*(byte *)((long)puVar22 + 0xb) & 8) == 0) || (uVar6 == 0)) {\nLAB_0030fbb3:\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }\n          if ((ulong)(plVar23[0xb] - plVar23[10] >> 3) <= (ulong)uVar6) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310860 to 00310864 has its CatchHandler @ 0031092a */\n            FUN_00352af0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(long *)(plVar23[10] + (ulong)uVar6 * 8) != 0) goto LAB_0030fbb3;\n          cVar4 = FUN_00443530(*param_2,plVar23,uVar1 & 0x7ffffff);\n          puVar10 = (undefined8 *)0x0;\n          if (cVar4 != '\0') {\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }\nLAB_0030fd25:\n          local_b0 = 0x80000000;\n          local_b8 = 0xffffffff00000000;\n          local_a8 = 0;\n          if (*(code **)(*plVar23 + 0x80) == FUN_0022c990) {\n                    /* try { // try from 0030fd86 to 0030fd8a has its CatchHandler @ 00310922 */\n            FUN_0022c800(local_58,plVar23 + 0x1f);\n          }\n          else {\n                    /* try { // try from 00310038 to 00310039 has its CatchHandler @ 00310922 */\n            (**(code **)(*plVar23 + 0x80))(local_58,plVar23,(int)param_2[6]);\n          }\n          bVar24 = false;\n          bVar26 = iVar8 == 0;\n          if (bVar26) {\n            lVar13 = 6;\n            pbVar18 = local_58[0];\n            pbVar19 = &DAT_00533552;\n            do {\n              if (lVar13 == 0) break;\n              lVar13 = lVar13 + -1;\n              bVar24 = *pbVar18 < *pbVar19;\n              bVar26 = *pbVar18 == *pbVar19;\n              pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n              pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n            } while (bVar26);\n            bVar25 = false;\n            bVar24 = (!bVar24 && !bVar26) == bVar24;\n            if (!bVar24) {\n              lVar13 = 7;\n              pbVar18 = local_58[0];\n              pbVar19 = (byte *)".zdebug";\n              do {\n                if (lVar13 == 0) break;\n                lVar13 = lVar13 + -1;\n                bVar25 = *pbVar18 < *pbVar19;\n                bVar24 = *pbVar18 == *pbVar19;\n                pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar13 = 0x11;\n                pbVar18 = local_58[0];\n                pbVar19 = (byte *)".gnu.linkonce.wi.";\n                do {\n                  if (lVar13 == 0) break;\n                  lVar13 = lVar13 + -1;\n                  bVar26 = *pbVar18 < *pbVar19;\n                  bVar24 = *pbVar18 == *pbVar19;\n                  pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  lVar13 = 5;\n                  pbVar18 = local_58[0];\n                  pbVar19 = (byte *)".line";\n                  do {\n                    if (lVar13 == 0) break;\n                    lVar13 = lVar13 + -1;\n                    bVar25 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    lVar13 = 5;\n                    pbVar18 = local_58[0];\n                    pbVar19 = (byte *)".stab";\n                    do {\n                      if (lVar13 == 0) break;\n                      lVar13 = lVar13 + -1;\n                      bVar26 = *pbVar18 < *pbVar19;\n                      bVar24 = *pbVar18 == *pbVar19;\n                      pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                      pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      lVar13 = 4;\n                      pbVar18 = local_58[0];\n                      pbVar19 = &DAT_0053357f;\n                      do {\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0030fdc0:\n                    /* try { // try from 0030fdd2 to 0030fdd6 has its CatchHandler @ 00310912 */\n            iVar8 = FUN_00397c50(plVar23,uVar17,local_58,&local_78);\n            local_a8 = 0;\n            if (local_78 != '\0') {\n              local_a8 = iVar8 + *(int *)(puVar22 + 2);\n            }\n            iVar8 = 1;\n          }\n          else {\n            if (iVar8 == 1) goto LAB_0030fdc0;\n            if (iVar8 == 3) {\nLAB_0030ff50:\n              lVar13 = param_2[2];\n              if (puVar10 == (undefined8 *)0x0) {\n                    /* try { // try from 003105ee to 0031061d has its CatchHandler @ 00310912 */\n                uVar9 = FUN_0039dd50(lVar13,uVar21);\n                uVar11 = gettext(\n                                "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                );\n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9,uVar21);\n              }\n              else {\n                    /* try { // try from 0030ff70 to 0030ff74 has its CatchHandler @ 00310912 */\n                FUN_004443d0(&local_78,puVar10);\n                uVar9 = CONCAT71(uStack_77,local_78);\n                uVar11 = gettext(\n                                "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                );\n                    /* try { // try from 0030ffa4 to 0030ffa8 has its CatchHandler @ 0031093c */\n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9);\n                if ((undefined1 *)CONCAT71(uStack_77,local_78) != auStack_68) {\n                  FUN_0049e340();\n                }\n              }\n                    /* try { // try from 0030ffd1 to 0030ffd5 has its CatchHandler @ 00310912 */\n              iVar8 = FUN_0039d3c0(lVar13,uVar21,local_e0,&local_e1);\n              if (iVar8 != 0) {\n                    /* try { // try from 00310544 to 0031057d has its CatchHandler @ 00310912 */\n                lVar15 = FUN_00397ec0(lVar13,iVar8,&local_dc);\n                if (local_dc != 0) {\n                    /* try { // try from 00310725 to 00310745 has its CatchHandler @ 00310912 */\n                  uVar9 = FUN_0039dd50(lVar13);\n                  uVar11 = gettext("  section group signature: \"%s\"");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n                if (lVar15 != 0) {\n                  uVar9 = *(undefined8 *)(lVar15 + 8);\n                  uVar11 = gettext("  prevailing definition is from %s");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n              }\n              iVar8 = 3;\n            }\n            else {\nLAB_00310006:\n              iVar8 = 2;\n            }\n            local_a8 = 0;\n          }\n          if ((int)local_b8 != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310794 to 00310798 has its CatchHandler @ 00310912 */\n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\n          local_b8 = CONCAT44(local_b8._4_4_,0xffffffff);\n          if (local_58[0] != abStack_48) {\n            FUN_0049e340();\n          }\n          puVar22 = &local_b8;\n          if (-1 < (long)local_140) goto LAB_0030fae5;\nLAB_0030fe48:\n          uVar9 = gettext("reloc has bad offset %zu");\n                    /* try { // try from 0030fe68 to 0030fe6c has its CatchHandler @ 00310922 */\n          FUN_0034aed0(param_2,local_148,local_140,uVar9,local_140);\n        }\n        else {\n          if ((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))\n          goto LAB_0030fa33;\n          if (uVar21 < *(uint *)(plVar23 + 0x24)) {\nLAB_003107a0:\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003107b3 to 003107ff has its CatchHandler @ 0031092a */\n            FUN_00352af0("../../gold/target-reloc.h",0x17f,"relocate_section");\n          }\n          uVar14 = (ulong)(uVar21 - *(uint *)(plVar23 + 0x24));\n          if ((ulong)(plVar23[0x27] - plVar23[0x26] >> 3) <= uVar14) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/object.h",0x8ad,"global_symbol");\n          }\n          puVar10 = *(undefined8 **)(plVar23[0x26] + uVar14 * 8);\n          if (puVar10 == (undefined8 *)0x0) goto LAB_003107a0;\n          if ((*(byte *)((long)puVar10 + 0x3a) & 0x10) == 0) goto LAB_0030fa33;\n                    /* try { // try from 0030fc40 to 0030fcb4 has its CatchHandler @ 0031092a */\n          puVar10 = (undefined8 *)FUN_00443580(*param_2,puVar10);\n          iVar7 = *(int *)((long)puVar10 + 0x1c);\n          uVar17 = iVar7 - 1;\n          if (uVar17 < 0xfffffffe) {\n            if (((int)local_d8 != 0) && ((int)local_d8 != -2)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0031077c to 00310780 has its CatchHandler @ 0031092a */\n              FUN_00352af0("../../gold/object.h",0x70c,"set_output_symtab_index");\n            }\n            goto LAB_0030fcf0;\n          }\n          if ((int)local_d8 != 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\nLAB_0030fa42:\n          local_d8 = CONCAT44(local_d8._4_4_,0xffffffff);\nLAB_0030fa4a:\n          local_c8 = *(undefined4 *)(puVar10 + 8);\n          if ((*(byte *)(puVar10 + 7) & 0xf) == 6) {\n            local_d0 = local_d0 | 0x20000000;\n          }\n          else if ((*(byte *)(puVar10 + 7) & 0xf) == 10) {\n            local_d0 = local_d0 | 0x40000000;\n          }\n          if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') {\n            if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) {\nLAB_0030fd10:\n                puVar22 = &local_d8;\n                uVar17 = 0;\n                goto LAB_0030fd25;\n              }\n            }\n            else if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 4) goto LAB_0030fd10;\n          }\n          puVar22 = &local_d8;\nLAB_0030faa5:\n          local_b0 = 0x80000000;\n          local_b8 = 0xffffffff00000000;\n          local_a8 = 0;\n          if ((long)local_140 < 0) goto LAB_0030fe48;\nLAB_0030fae5:\n          if ((param_10 <= local_140) || (local_140 + param_8 == 0)) goto LAB_0030fe48;\n          uVar21 = local_120[1];\n          if (uVar21 >> 0x18 != 0) {\n            uVar9 = gettext("Invalid/unrecognized reloc reloc %d.");\n                    /* try { // try from 0030fb3d to 0030fb59 has its CatchHandler @ 00310922 */\n            FUN_0034a750(uVar9,uVar21 >> 0x18);\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/aarch64-reloc-property.h",0xeb,"code_to_array_index");\n          }\n          if (*DAT_0067dff8 == 0) {\n                    /* try { // try from 003104dd to 003104e1 has its CatchHandler @ 00310922 */\n            FUN_0031d8d0(local_58,DAT_0067dff8,0);\n            pbVar18 = local_58[0];\n            uVar9 = gettext("cannot relocate %s in object file");\n            uVar21 = *local_120;\n                    /* try { // try from 00310510 to 00310514 has its CatchHandler @ 0031091a */\n            FUN_0034aed0(param_2,local_148,\n                         uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18,uVar9,pbVar18);\n            if (local_58[0] != abStack_48) {\n              FUN_0049e340();\n            }\n          }\n          else {\n            plVar3 = (long *)param_2[2];\n            local_90 = 0x80000000;\n            local_98 = 0xffffffff00000000;\n            local_88 = 0;\n            if (puVar10 == (undefined8 *)0x0) {\n              if ((*(byte *)((long)puVar22 + 0xb) & 0x40) != 0) {\n                uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n                    /* try { // try from 00310475 to 003104bc has its CatchHandler @ 00310944 */\n                cVar4 = FUN_00397bb0(plVar3,uVar21);\n                if (cVar4 != '\0') {\n                  lVar13 = *(long *)(param_1 + 0x28);\n                  if (lVar13 == 0) {\n                    /* try { // try from 003108c5 to 003108c9 has its CatchHandler @ 00310944 */\n                    FUN_002ed4a0();\n                    goto LAB_003108ca;\n                  }\n                  if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108a8 to 003108ac has its CatchHandler @ 00310944 */\n                    FUN_00352af0("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar9 = *(undefined8 *)(lVar13 + 8);\n                  iVar7 = *(int *)(lVar13 + 0x68);\n                  local_88 = (**(code **)(*plVar3 + 0x150))(plVar3,uVar21);\n                  local_88 = (int)uVar9 + 0x20 + iVar7 * 0x10 + local_88;\n                }\n              }\n            }\n            else {\n                    /* try { // try from 003100df to 00310101 has its CatchHandler @ 00310944 */\n              cVar4 = FUN_00228fa0(puVar10,*(undefined4 *)(*DAT_0067dff8 + 0x4c));\n              if (cVar4 != '\0') {\n                if (*(long *)(param_1 + 0x28) == 0) {\n                    /* try { // try from 00310800 to 00310804 has its CatchHandler @ 00310944 */\n                  FUN_002ed4a0();\n                  goto LAB_00310805;\n                }\n                local_88 = FUN_002f9c90(*(long *)(param_1 + 0x28),puVar10);\n              }\n            }\n            FUN_001a5bc0(&local_98);\n          }\n          if (puVar10 != (undefined8 *)0x0) {\n            bVar16 = *(byte *)((long)puVar10 + 0x3a);\n            bVar5 = bVar16 & 7;\n            if ((bVar16 & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) != 0) || ((*(byte *)((long)puVar10 + 0x3b) & 0x20) == 0)) {\n                if (*(code **)(*(long *)puVar10[2] + 0x28) != FUN_001a4aa0) {\n                  lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                  if (lVar13 != 0) {\n                    bVar16 = *(byte *)((long)puVar10 + 0x3a);\n                    bVar5 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar5 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)puVar10 + 0x3b)) goto LAB_00310305;\n                    bVar5 = *(byte *)((long)puVar10 + 0x39);\n                    if ((bVar5 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }\nLAB_0031015a:\n                bVar16 = bVar16 & 7;\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                if ((*(byte *)((long)puVar10 + 0x39) & 3) == 0) goto LAB_003101c0;\nLAB_00310166:\n                if (((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)\n                    ) && ((*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0)))) {\nLAB_00310293:\n                  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_003108ca:\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108dd to 003108e1 has its CatchHandler @ 00310922 */\n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') {\n                    if (bVar16 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)(puVar10[2] + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }\n                if (bVar5 == 2) {\n                  uVar9 = gettext("hidden");\n                }\n                else if (bVar5 < 3) {\n                  if (bVar5 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar9 = gettext("internal");\n                }\n                else {\n                  uVar9 = gettext("protected");\n                }\n                uVar11 = *puVar10;\n                uVar12 = gettext("%s symbol \'%s\' is not defined locally");\n                    /* try { // try from 003101b4 to 0031042c has its CatchHandler @ 00310922 */\n                FUN_0034a750(uVar12,uVar9,uVar11);\n                goto LAB_003101c0;\n              }\nLAB_0031020c:\n              if ((*(byte *)(puVar10 + 7) >> 4 == 2) || ((*(byte *)((long)puVar10 + 0x3c) & 2) != 0)\n                 ) {\nLAB_00310438:\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_0031043f:\n                if (bVar5 == 0) goto LAB_003101c0;\n                bVar16 = *(byte *)((long)puVar10 + 0x3a) & 7;\n                if (bVar16 != 0) goto LAB_00310270;\n                goto LAB_00310166;\n              }\n              if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310878 to 0031087c has its CatchHandler @ 00310922 */\n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') goto LAB_00310438;\n              if (*(char *)((long)puVar10 + 0x3b) < '\0') {\n                if (bVar5 != 0) goto LAB_00310260;\nLAB_003105b8:\n                if (*(code **)(*(long *)puVar10[2] + 0x28) == FUN_001a4aa0) goto LAB_0031015a;\n                    /* try { // try from 003105cc to 003105cd has its CatchHandler @ 00310922 */\n                lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                if (lVar13 == 0) goto LAB_00310438;\n              }\nLAB_00310305:\n              plVar3 = *(long **)(PTR_DAT_0067cb08 + 0x18);\n              if (plVar3 == (long *)0x0) {\nLAB_00310805:\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310818 to 0031084c has its CatchHandler @ 00310922 */\n                FUN_00352af0("../../gold/parameters.h",0x69,"target");\n              }\n              if ((*(code **)(*plVar3 + 0x38) != FUN_001a49e0) &&\n                 (cVar4 = (**(code **)(*plVar3 + 0x38))(plVar3,puVar10), cVar4 != '\0'))\n              goto LAB_00310438;\n              lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar13 == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              pbVar18 = *(byte **)(lVar13 + 0x6c40);\n              bVar24 = false;\n              bVar26 = pbVar18 == (byte *)0x0;\n              if (bVar26) {\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_003103c9:\n                if ((bVar5 == 2) ||\n                   ((*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0'))))\n                goto LAB_003103e1;\n                goto LAB_0031043f;\n              }\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"ignore-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar24 = *pbVar19 < *pbVar20;\n                bVar26 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar26);\n              bVar25 = false;\n              bVar24 = (!bVar24 && !bVar26) == bVar24;\n              if (bVar24) goto LAB_00310438;\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"report-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar25 = *pbVar19 < *pbVar20;\n                bVar24 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar15 = 0x17;\n                pbVar19 = pbVar18;\n                pbVar20 = (byte *)"ignore-in-object-files";\n                do {\n                  if (lVar15 == 0) break;\n                  lVar15 = lVar15 + -1;\n                  bVar26 = *pbVar19 < *pbVar20;\n                  bVar24 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if ((!bVar24) || (bVar24 = (*(byte *)((long)puVar10 + 0x3b) & 1) == 0, !bVar24)) {\n                  bVar26 = false;\n                  lVar15 = 0x16;\n                  pbVar19 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    if (lVar15 == 0) break;\n                    lVar15 = lVar15 + -1;\n                    bVar26 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  if (((!bVar26 && !bVar24) != bVar26) || (*(char *)((long)puVar10 + 0x3a) < '\0'))\n                  goto LAB_003103c9;\n                }\n                goto LAB_0031043f;\n              }\nLAB_003103e1:\n              FUN_0034b9f0(puVar10,param_2,local_148,local_140);\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            else {\n              if (bVar5 == 4) goto LAB_0031020c;\nLAB_00310260:\n              bVar5 = *(byte *)((long)puVar10 + 0x39);\n              if ((bVar5 & 3) != 0) {\nLAB_0031026d:\n                bVar5 = bVar5 & 3;\n                bVar16 = bVar16 & 7;\nLAB_00310270:\n                if (((bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2)) &&\n                   (bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0)) goto LAB_00310293;\n              }\nLAB_003101c0:\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            if ((bVar16 & 4) != 0) {\n              FUN_00446c20(*param_2 + 0x1e0,puVar10,param_2,local_148,local_140);\n            }\n          }\n        }\n        local_138 = &local_d8;\n        FUN_001a5bc0(&local_b8);\n        FUN_001a5bc0(local_138);\n      }\n      local_148 = local_148 + 1;\n      local_120 = local_120 + 3;\n    } while (param_5 != local_148);\n  }\n  return;\n}" primitive_type (function_declarator "FUN_0030f910(long param_1,long *param_2,int param_3,uint *param_4,long param_5,\n                 undefined8 param_6,char param_7,long param_8,uint param_9,ulong param_10,\n                 long *param_11)" identifier (parameter_list "(long param_1,long *param_2,int param_3,uint *param_4,long param_5,\n                 undefined8 param_6,char param_7,long param_8,uint param_9,ulong param_10,\n                 long *param_11)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "long *param_2" (sized_type_specifier "long" long) (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "uint *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) , (parameter_declaration "long param_5" (sized_type_specifier "long" long) identifier) , (parameter_declaration "undefined8 param_6" type_identifier identifier) , (parameter_declaration "char param_7" primitive_type identifier) , (parameter_declaration "long param_8" (sized_type_specifier "long" long) identifier) , (parameter_declaration "uint param_9" type_identifier identifier) , (parameter_declaration "ulong param_10" type_identifier identifier) , (parameter_declaration "long *param_11" (sized_type_specifier "long" long) (pointer_declarator "*param_11" * identifier)) ))) (compound_statement "{\n  uint uVar1;\n  code *pcVar2;\n  long *plVar3;\n  char cVar4;\n  byte bVar5;\n  uint uVar6;\n  int iVar7;\n  int iVar8;\n  undefined8 uVar9;\n  undefined8 *puVar10;\n  undefined8 uVar11;\n  undefined8 uVar12;\n  long lVar13;\n  ulong uVar14;\n  long lVar15;\n  byte bVar16;\n  uint uVar17;\n  byte *pbVar18;\n  byte *pbVar19;\n  byte *pbVar20;\n  uint uVar21;\n  undefined8 *puVar22;\n  long *plVar23;\n  bool bVar24;\n  bool bVar25;\n  bool bVar26;\n  byte bVar27;\n  long local_148;\n  ulong local_140;\n  undefined8 *local_138;\n  uint *local_120;\n  uint local_ec;\n  undefined1 local_e1;\n  undefined1 local_e0 [4];\n  int local_dc;\n  undefined8 local_d8;\n  uint local_d0;\n  undefined4 local_c8;\n  undefined8 local_b8;\n  undefined4 local_b0;\n  int local_a8;\n  undefined8 local_98;\n  undefined4 local_90;\n  int local_88;\n  char local_78;\n  undefined7 uStack_77;\n  undefined1 auStack_68 [16];\n  byte *local_58 [2];\n  byte abStack_48 [24];\n  \n  bVar27 = 0;\n  if (param_3 != 4) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00352af0("../../gold/aarch64.cc",0x1fca,"relocate_section");\n  }\n  plVar23 = (long *)param_2[2];\n  if (param_7 != '\0') {\n    lVar13 = FUN_003cfdd0(param_6,plVar23,(int)param_2[6]);\n    if (lVar13 == 0) {\n      plVar23 = (long *)param_2[2];\n    }\n    else {\n      if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/output.h",0xc5,"address");\n      }\n      if ((*(byte *)(lVar13 + 0x20) & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/output.h",0xcf,"data_size");\n      }\n      uVar21 = (uint)*(ulong *)(lVar13 + 8);\n      if ((uVar21 < param_9) ||\n         (param_9 + param_10 < (*(ulong *)(lVar13 + 8) & 0xffffffff) + *(ulong *)(lVar13 + 0x10))) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/aarch64.cc",0x1fda,"relocate_section");\n      }\n      plVar23 = (long *)param_2[2];\n      param_8 = param_8 + (ulong)(uVar21 - param_9);\n      param_10 = *(ulong *)(lVar13 + 0x10);\n    }\n  }\n  pcVar2 = *(code **)(*plVar23 + 0x118);\n  if (pcVar2 == FUN_001a4ab0) {\n    local_ec = (**(code **)(*plVar23 + 0x178))();\n  }\n  else {\n    local_ec = (*pcVar2)(plVar23);\n  }\n  iVar8 = 0;\n  local_148 = 0;\n  local_120 = param_4;\n  if (param_5 != 0) {\n    do {\n      uVar21 = *local_120;\n      local_140 = (ulong)(uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18);\n      if ((param_7 == '\0') ||\n         (local_140 = FUN_003cff80(param_6,param_2[2],(int)param_2[6],local_140),\n         local_140 != 0xffffffffffffffff)) {\n        local_d0 = 0x80000000;\n        local_c8 = 0;\n        uVar21 = local_120[1];\n        local_d8 = 0xffffffff00000000;\n        uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n        if (uVar21 < local_ec) {\n          if ((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))\n          {\nLAB_0030fa33:\n            iVar7 = *(int *)((long)puVar10 + 0x1c);\n            uVar17 = iVar7 - 1;\n            if (0xfffffffd < uVar17) goto LAB_0030fa42;\nLAB_0030fcf0:\n            if (uVar17 == 0xfffffffd) {\n                    /* WARNING: Subroutine does not return */\n              FUN_00352af0("../../gold/object.h",0x70d,"set_output_symtab_index");\n            }\n            local_d8 = CONCAT44(local_d8._4_4_,iVar7);\n            goto LAB_0030fa4a;\n          }\n          if ((ulong)((plVar23[0x2d] - plVar23[0x2c] >> 3) * -0x5555555555555555) <= (ulong)uVar21)\n          {\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/object.h",0x8c1,"local_symbol");\n          }\n          puVar22 = (undefined8 *)(plVar23[0x2c] + (ulong)uVar21 * 0x18);\n          uVar1 = *(uint *)(puVar22 + 1);\n          uVar6 = uVar1 & 0x7ffffff;\n          uVar17 = uVar1 & 0x7ffffff;\n          if (((*(byte *)((long)puVar22 + 0xb) & 8) == 0) || (uVar6 == 0)) {\nLAB_0030fbb3:\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }\n          if ((ulong)(plVar23[0xb] - plVar23[10] >> 3) <= (ulong)uVar6) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310860 to 00310864 has its CatchHandler @ 0031092a */\n            FUN_00352af0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(long *)(plVar23[10] + (ulong)uVar6 * 8) != 0) goto LAB_0030fbb3;\n          cVar4 = FUN_00443530(*param_2,plVar23,uVar1 & 0x7ffffff);\n          puVar10 = (undefined8 *)0x0;\n          if (cVar4 != '\0') {\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }\nLAB_0030fd25:\n          local_b0 = 0x80000000;\n          local_b8 = 0xffffffff00000000;\n          local_a8 = 0;\n          if (*(code **)(*plVar23 + 0x80) == FUN_0022c990) {\n                    /* try { // try from 0030fd86 to 0030fd8a has its CatchHandler @ 00310922 */\n            FUN_0022c800(local_58,plVar23 + 0x1f);\n          }\n          else {\n                    /* try { // try from 00310038 to 00310039 has its CatchHandler @ 00310922 */\n            (**(code **)(*plVar23 + 0x80))(local_58,plVar23,(int)param_2[6]);\n          }\n          bVar24 = false;\n          bVar26 = iVar8 == 0;\n          if (bVar26) {\n            lVar13 = 6;\n            pbVar18 = local_58[0];\n            pbVar19 = &DAT_00533552;\n            do {\n              if (lVar13 == 0) break;\n              lVar13 = lVar13 + -1;\n              bVar24 = *pbVar18 < *pbVar19;\n              bVar26 = *pbVar18 == *pbVar19;\n              pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n              pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n            } while (bVar26);\n            bVar25 = false;\n            bVar24 = (!bVar24 && !bVar26) == bVar24;\n            if (!bVar24) {\n              lVar13 = 7;\n              pbVar18 = local_58[0];\n              pbVar19 = (byte *)".zdebug";\n              do {\n                if (lVar13 == 0) break;\n                lVar13 = lVar13 + -1;\n                bVar25 = *pbVar18 < *pbVar19;\n                bVar24 = *pbVar18 == *pbVar19;\n                pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar13 = 0x11;\n                pbVar18 = local_58[0];\n                pbVar19 = (byte *)".gnu.linkonce.wi.";\n                do {\n                  if (lVar13 == 0) break;\n                  lVar13 = lVar13 + -1;\n                  bVar26 = *pbVar18 < *pbVar19;\n                  bVar24 = *pbVar18 == *pbVar19;\n                  pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  lVar13 = 5;\n                  pbVar18 = local_58[0];\n                  pbVar19 = (byte *)".line";\n                  do {\n                    if (lVar13 == 0) break;\n                    lVar13 = lVar13 + -1;\n                    bVar25 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    lVar13 = 5;\n                    pbVar18 = local_58[0];\n                    pbVar19 = (byte *)".stab";\n                    do {\n                      if (lVar13 == 0) break;\n                      lVar13 = lVar13 + -1;\n                      bVar26 = *pbVar18 < *pbVar19;\n                      bVar24 = *pbVar18 == *pbVar19;\n                      pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                      pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      lVar13 = 4;\n                      pbVar18 = local_58[0];\n                      pbVar19 = &DAT_0053357f;\n                      do {\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0030fdc0:\n                    /* try { // try from 0030fdd2 to 0030fdd6 has its CatchHandler @ 00310912 */\n            iVar8 = FUN_00397c50(plVar23,uVar17,local_58,&local_78);\n            local_a8 = 0;\n            if (local_78 != '\0') {\n              local_a8 = iVar8 + *(int *)(puVar22 + 2);\n            }\n            iVar8 = 1;\n          }\n          else {\n            if (iVar8 == 1) goto LAB_0030fdc0;\n            if (iVar8 == 3) {\nLAB_0030ff50:\n              lVar13 = param_2[2];\n              if (puVar10 == (undefined8 *)0x0) {\n                    /* try { // try from 003105ee to 0031061d has its CatchHandler @ 00310912 */\n                uVar9 = FUN_0039dd50(lVar13,uVar21);\n                uVar11 = gettext(\n                                "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                );\n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9,uVar21);\n              }\n              else {\n                    /* try { // try from 0030ff70 to 0030ff74 has its CatchHandler @ 00310912 */\n                FUN_004443d0(&local_78,puVar10);\n                uVar9 = CONCAT71(uStack_77,local_78);\n                uVar11 = gettext(\n                                "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                );\n                    /* try { // try from 0030ffa4 to 0030ffa8 has its CatchHandler @ 0031093c */\n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9);\n                if ((undefined1 *)CONCAT71(uStack_77,local_78) != auStack_68) {\n                  FUN_0049e340();\n                }\n              }\n                    /* try { // try from 0030ffd1 to 0030ffd5 has its CatchHandler @ 00310912 */\n              iVar8 = FUN_0039d3c0(lVar13,uVar21,local_e0,&local_e1);\n              if (iVar8 != 0) {\n                    /* try { // try from 00310544 to 0031057d has its CatchHandler @ 00310912 */\n                lVar15 = FUN_00397ec0(lVar13,iVar8,&local_dc);\n                if (local_dc != 0) {\n                    /* try { // try from 00310725 to 00310745 has its CatchHandler @ 00310912 */\n                  uVar9 = FUN_0039dd50(lVar13);\n                  uVar11 = gettext("  section group signature: \"%s\"");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n                if (lVar15 != 0) {\n                  uVar9 = *(undefined8 *)(lVar15 + 8);\n                  uVar11 = gettext("  prevailing definition is from %s");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n              }\n              iVar8 = 3;\n            }\n            else {\nLAB_00310006:\n              iVar8 = 2;\n            }\n            local_a8 = 0;\n          }\n          if ((int)local_b8 != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310794 to 00310798 has its CatchHandler @ 00310912 */\n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\n          local_b8 = CONCAT44(local_b8._4_4_,0xffffffff);\n          if (local_58[0] != abStack_48) {\n            FUN_0049e340();\n          }\n          puVar22 = &local_b8;\n          if (-1 < (long)local_140) goto LAB_0030fae5;\nLAB_0030fe48:\n          uVar9 = gettext("reloc has bad offset %zu");\n                    /* try { // try from 0030fe68 to 0030fe6c has its CatchHandler @ 00310922 */\n          FUN_0034aed0(param_2,local_148,local_140,uVar9,local_140);\n        }\n        else {\n          if ((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))\n          goto LAB_0030fa33;\n          if (uVar21 < *(uint *)(plVar23 + 0x24)) {\nLAB_003107a0:\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003107b3 to 003107ff has its CatchHandler @ 0031092a */\n            FUN_00352af0("../../gold/target-reloc.h",0x17f,"relocate_section");\n          }\n          uVar14 = (ulong)(uVar21 - *(uint *)(plVar23 + 0x24));\n          if ((ulong)(plVar23[0x27] - plVar23[0x26] >> 3) <= uVar14) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/object.h",0x8ad,"global_symbol");\n          }\n          puVar10 = *(undefined8 **)(plVar23[0x26] + uVar14 * 8);\n          if (puVar10 == (undefined8 *)0x0) goto LAB_003107a0;\n          if ((*(byte *)((long)puVar10 + 0x3a) & 0x10) == 0) goto LAB_0030fa33;\n                    /* try { // try from 0030fc40 to 0030fcb4 has its CatchHandler @ 0031092a */\n          puVar10 = (undefined8 *)FUN_00443580(*param_2,puVar10);\n          iVar7 = *(int *)((long)puVar10 + 0x1c);\n          uVar17 = iVar7 - 1;\n          if (uVar17 < 0xfffffffe) {\n            if (((int)local_d8 != 0) && ((int)local_d8 != -2)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0031077c to 00310780 has its CatchHandler @ 0031092a */\n              FUN_00352af0("../../gold/object.h",0x70c,"set_output_symtab_index");\n            }\n            goto LAB_0030fcf0;\n          }\n          if ((int)local_d8 != 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\nLAB_0030fa42:\n          local_d8 = CONCAT44(local_d8._4_4_,0xffffffff);\nLAB_0030fa4a:\n          local_c8 = *(undefined4 *)(puVar10 + 8);\n          if ((*(byte *)(puVar10 + 7) & 0xf) == 6) {\n            local_d0 = local_d0 | 0x20000000;\n          }\n          else if ((*(byte *)(puVar10 + 7) & 0xf) == 10) {\n            local_d0 = local_d0 | 0x40000000;\n          }\n          if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') {\n            if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) {\nLAB_0030fd10:\n                puVar22 = &local_d8;\n                uVar17 = 0;\n                goto LAB_0030fd25;\n              }\n            }\n            else if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 4) goto LAB_0030fd10;\n          }\n          puVar22 = &local_d8;\nLAB_0030faa5:\n          local_b0 = 0x80000000;\n          local_b8 = 0xffffffff00000000;\n          local_a8 = 0;\n          if ((long)local_140 < 0) goto LAB_0030fe48;\nLAB_0030fae5:\n          if ((param_10 <= local_140) || (local_140 + param_8 == 0)) goto LAB_0030fe48;\n          uVar21 = local_120[1];\n          if (uVar21 >> 0x18 != 0) {\n            uVar9 = gettext("Invalid/unrecognized reloc reloc %d.");\n                    /* try { // try from 0030fb3d to 0030fb59 has its CatchHandler @ 00310922 */\n            FUN_0034a750(uVar9,uVar21 >> 0x18);\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/aarch64-reloc-property.h",0xeb,"code_to_array_index");\n          }\n          if (*DAT_0067dff8 == 0) {\n                    /* try { // try from 003104dd to 003104e1 has its CatchHandler @ 00310922 */\n            FUN_0031d8d0(local_58,DAT_0067dff8,0);\n            pbVar18 = local_58[0];\n            uVar9 = gettext("cannot relocate %s in object file");\n            uVar21 = *local_120;\n                    /* try { // try from 00310510 to 00310514 has its CatchHandler @ 0031091a */\n            FUN_0034aed0(param_2,local_148,\n                         uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18,uVar9,pbVar18);\n            if (local_58[0] != abStack_48) {\n              FUN_0049e340();\n            }\n          }\n          else {\n            plVar3 = (long *)param_2[2];\n            local_90 = 0x80000000;\n            local_98 = 0xffffffff00000000;\n            local_88 = 0;\n            if (puVar10 == (undefined8 *)0x0) {\n              if ((*(byte *)((long)puVar22 + 0xb) & 0x40) != 0) {\n                uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n                    /* try { // try from 00310475 to 003104bc has its CatchHandler @ 00310944 */\n                cVar4 = FUN_00397bb0(plVar3,uVar21);\n                if (cVar4 != '\0') {\n                  lVar13 = *(long *)(param_1 + 0x28);\n                  if (lVar13 == 0) {\n                    /* try { // try from 003108c5 to 003108c9 has its CatchHandler @ 00310944 */\n                    FUN_002ed4a0();\n                    goto LAB_003108ca;\n                  }\n                  if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108a8 to 003108ac has its CatchHandler @ 00310944 */\n                    FUN_00352af0("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar9 = *(undefined8 *)(lVar13 + 8);\n                  iVar7 = *(int *)(lVar13 + 0x68);\n                  local_88 = (**(code **)(*plVar3 + 0x150))(plVar3,uVar21);\n                  local_88 = (int)uVar9 + 0x20 + iVar7 * 0x10 + local_88;\n                }\n              }\n            }\n            else {\n                    /* try { // try from 003100df to 00310101 has its CatchHandler @ 00310944 */\n              cVar4 = FUN_00228fa0(puVar10,*(undefined4 *)(*DAT_0067dff8 + 0x4c));\n              if (cVar4 != '\0') {\n                if (*(long *)(param_1 + 0x28) == 0) {\n                    /* try { // try from 00310800 to 00310804 has its CatchHandler @ 00310944 */\n                  FUN_002ed4a0();\n                  goto LAB_00310805;\n                }\n                local_88 = FUN_002f9c90(*(long *)(param_1 + 0x28),puVar10);\n              }\n            }\n            FUN_001a5bc0(&local_98);\n          }\n          if (puVar10 != (undefined8 *)0x0) {\n            bVar16 = *(byte *)((long)puVar10 + 0x3a);\n            bVar5 = bVar16 & 7;\n            if ((bVar16 & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) != 0) || ((*(byte *)((long)puVar10 + 0x3b) & 0x20) == 0)) {\n                if (*(code **)(*(long *)puVar10[2] + 0x28) != FUN_001a4aa0) {\n                  lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                  if (lVar13 != 0) {\n                    bVar16 = *(byte *)((long)puVar10 + 0x3a);\n                    bVar5 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar5 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)puVar10 + 0x3b)) goto LAB_00310305;\n                    bVar5 = *(byte *)((long)puVar10 + 0x39);\n                    if ((bVar5 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }\nLAB_0031015a:\n                bVar16 = bVar16 & 7;\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                if ((*(byte *)((long)puVar10 + 0x39) & 3) == 0) goto LAB_003101c0;\nLAB_00310166:\n                if (((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)\n                    ) && ((*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0)))) {\nLAB_00310293:\n                  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_003108ca:\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108dd to 003108e1 has its CatchHandler @ 00310922 */\n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') {\n                    if (bVar16 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)(puVar10[2] + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }\n                if (bVar5 == 2) {\n                  uVar9 = gettext("hidden");\n                }\n                else if (bVar5 < 3) {\n                  if (bVar5 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar9 = gettext("internal");\n                }\n                else {\n                  uVar9 = gettext("protected");\n                }\n                uVar11 = *puVar10;\n                uVar12 = gettext("%s symbol \'%s\' is not defined locally");\n                    /* try { // try from 003101b4 to 0031042c has its CatchHandler @ 00310922 */\n                FUN_0034a750(uVar12,uVar9,uVar11);\n                goto LAB_003101c0;\n              }\nLAB_0031020c:\n              if ((*(byte *)(puVar10 + 7) >> 4 == 2) || ((*(byte *)((long)puVar10 + 0x3c) & 2) != 0)\n                 ) {\nLAB_00310438:\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_0031043f:\n                if (bVar5 == 0) goto LAB_003101c0;\n                bVar16 = *(byte *)((long)puVar10 + 0x3a) & 7;\n                if (bVar16 != 0) goto LAB_00310270;\n                goto LAB_00310166;\n              }\n              if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310878 to 0031087c has its CatchHandler @ 00310922 */\n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') goto LAB_00310438;\n              if (*(char *)((long)puVar10 + 0x3b) < '\0') {\n                if (bVar5 != 0) goto LAB_00310260;\nLAB_003105b8:\n                if (*(code **)(*(long *)puVar10[2] + 0x28) == FUN_001a4aa0) goto LAB_0031015a;\n                    /* try { // try from 003105cc to 003105cd has its CatchHandler @ 00310922 */\n                lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                if (lVar13 == 0) goto LAB_00310438;\n              }\nLAB_00310305:\n              plVar3 = *(long **)(PTR_DAT_0067cb08 + 0x18);\n              if (plVar3 == (long *)0x0) {\nLAB_00310805:\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310818 to 0031084c has its CatchHandler @ 00310922 */\n                FUN_00352af0("../../gold/parameters.h",0x69,"target");\n              }\n              if ((*(code **)(*plVar3 + 0x38) != FUN_001a49e0) &&\n                 (cVar4 = (**(code **)(*plVar3 + 0x38))(plVar3,puVar10), cVar4 != '\0'))\n              goto LAB_00310438;\n              lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar13 == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              pbVar18 = *(byte **)(lVar13 + 0x6c40);\n              bVar24 = false;\n              bVar26 = pbVar18 == (byte *)0x0;\n              if (bVar26) {\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_003103c9:\n                if ((bVar5 == 2) ||\n                   ((*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0'))))\n                goto LAB_003103e1;\n                goto LAB_0031043f;\n              }\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"ignore-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar24 = *pbVar19 < *pbVar20;\n                bVar26 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar26);\n              bVar25 = false;\n              bVar24 = (!bVar24 && !bVar26) == bVar24;\n              if (bVar24) goto LAB_00310438;\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"report-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar25 = *pbVar19 < *pbVar20;\n                bVar24 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar15 = 0x17;\n                pbVar19 = pbVar18;\n                pbVar20 = (byte *)"ignore-in-object-files";\n                do {\n                  if (lVar15 == 0) break;\n                  lVar15 = lVar15 + -1;\n                  bVar26 = *pbVar19 < *pbVar20;\n                  bVar24 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if ((!bVar24) || (bVar24 = (*(byte *)((long)puVar10 + 0x3b) & 1) == 0, !bVar24)) {\n                  bVar26 = false;\n                  lVar15 = 0x16;\n                  pbVar19 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    if (lVar15 == 0) break;\n                    lVar15 = lVar15 + -1;\n                    bVar26 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  if (((!bVar26 && !bVar24) != bVar26) || (*(char *)((long)puVar10 + 0x3a) < '\0'))\n                  goto LAB_003103c9;\n                }\n                goto LAB_0031043f;\n              }\nLAB_003103e1:\n              FUN_0034b9f0(puVar10,param_2,local_148,local_140);\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            else {\n              if (bVar5 == 4) goto LAB_0031020c;\nLAB_00310260:\n              bVar5 = *(byte *)((long)puVar10 + 0x39);\n              if ((bVar5 & 3) != 0) {\nLAB_0031026d:\n                bVar5 = bVar5 & 3;\n                bVar16 = bVar16 & 7;\nLAB_00310270:\n                if (((bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2)) &&\n                   (bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0)) goto LAB_00310293;\n              }\nLAB_003101c0:\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            if ((bVar16 & 4) != 0) {\n              FUN_00446c20(*param_2 + 0x1e0,puVar10,param_2,local_148,local_140);\n            }\n          }\n        }\n        local_138 = &local_d8;\n        FUN_001a5bc0(&local_b8);\n        FUN_001a5bc0(local_138);\n      }\n      local_148 = local_148 + 1;\n      local_120 = local_120 + 3;\n    } while (param_5 != local_148);\n  }\n  return;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "code *pcVar2;" type_identifier (pointer_declarator "*pcVar2" * identifier) ;) (declaration "long *plVar3;" (sized_type_specifier "long" long) (pointer_declarator "*plVar3" * identifier) ;) (declaration "char cVar4;" primitive_type identifier ;) (declaration "byte bVar5;" type_identifier identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "undefined8 uVar9;" type_identifier identifier ;) (declaration "undefined8 *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "undefined8 uVar11;" type_identifier identifier ;) (declaration "undefined8 uVar12;" type_identifier identifier ;) (declaration "long lVar13;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong uVar14;" type_identifier identifier ;) (declaration "long lVar15;" (sized_type_specifier "long" long) identifier ;) (declaration "byte bVar16;" type_identifier identifier ;) (declaration "uint uVar17;" type_identifier identifier ;) (declaration "byte *pbVar18;" type_identifier (pointer_declarator "*pbVar18" * identifier) ;) (declaration "byte *pbVar19;" type_identifier (pointer_declarator "*pbVar19" * identifier) ;) (declaration "byte *pbVar20;" type_identifier (pointer_declarator "*pbVar20" * identifier) ;) (declaration "uint uVar21;" type_identifier identifier ;) (declaration "undefined8 *puVar22;" type_identifier (pointer_declarator "*puVar22" * identifier) ;) (declaration "long *plVar23;" (sized_type_specifier "long" long) (pointer_declarator "*plVar23" * identifier) ;) (declaration "bool bVar24;" primitive_type identifier ;) (declaration "bool bVar25;" primitive_type identifier ;) (declaration "bool bVar26;" primitive_type identifier ;) (declaration "byte bVar27;" type_identifier identifier ;) (declaration "long local_148;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong local_140;" type_identifier identifier ;) (declaration "undefined8 *local_138;" type_identifier (pointer_declarator "*local_138" * identifier) ;) (declaration "uint *local_120;" type_identifier (pointer_declarator "*local_120" * identifier) ;) (declaration "uint local_ec;" type_identifier identifier ;) (declaration "undefined1 local_e1;" type_identifier identifier ;) (declaration "undefined1 local_e0 [4];" type_identifier (array_declarator "local_e0 [4]" identifier [ number_literal ]) ;) (declaration "int local_dc;" primitive_type identifier ;) (declaration "undefined8 local_d8;" type_identifier identifier ;) (declaration "uint local_d0;" type_identifier identifier ;) (declaration "undefined4 local_c8;" type_identifier identifier ;) (declaration "undefined8 local_b8;" type_identifier identifier ;) (declaration "undefined4 local_b0;" type_identifier identifier ;) (declaration "int local_a8;" primitive_type identifier ;) (declaration "undefined8 local_98;" type_identifier identifier ;) (declaration "undefined4 local_90;" type_identifier identifier ;) (declaration "int local_88;" primitive_type identifier ;) (declaration "char local_78;" primitive_type identifier ;) (declaration "undefined7 uStack_77;" type_identifier identifier ;) (declaration "undefined1 auStack_68 [16];" type_identifier (array_declarator "auStack_68 [16]" identifier [ number_literal ]) ;) (declaration "byte *local_58 [2];" type_identifier (pointer_declarator "*local_58 [2]" * (array_declarator "local_58 [2]" identifier [ number_literal ])) ;) (declaration "byte abStack_48 [24];" type_identifier (array_declarator "abStack_48 [24]" identifier [ number_literal ]) ;) (expression_statement "bVar27 = 0;" (assignment_expression "bVar27 = 0" identifier = number_literal) ;) (if_statement "if (param_3 != 4) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00352af0("../../gold/aarch64.cc",0x1fca,"relocate_section");\n  }" if (parenthesized_expression "(param_3 != 4)" ( (binary_expression "param_3 != 4" identifier != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_00352af0("../../gold/aarch64.cc",0x1fca,"relocate_section");\n  }" { comment (expression_statement "FUN_00352af0("../../gold/aarch64.cc",0x1fca,"relocate_section");" (call_expression "FUN_00352af0("../../gold/aarch64.cc",0x1fca,"relocate_section")" identifier (argument_list "("../../gold/aarch64.cc",0x1fca,"relocate_section")" ( (string_literal ""../../gold/aarch64.cc"" " string_content ") , number_literal , (string_literal ""relocate_section"" " string_content ") ))) ;) })) (expression_statement "plVar23 = (long *)param_2[2];" (assignment_expression "plVar23 = (long *)param_2[2]" identifier = (cast_expression "(long *)param_2[2]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[2]" identifier [ number_literal ]))) ;) (if_statement "if (param_7 != '\0') {\n    lVar13 = FUN_003cfdd0(param_6,plVar23,(int)param_2[6]);\n    if (lVar13 == 0) {\n      plVar23 = (long *)param_2[2];\n    }\n    else {\n      if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/output.h",0xc5,"address");\n      }\n      if ((*(byte *)(lVar13 + 0x20) & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/output.h",0xcf,"data_size");\n      }\n      uVar21 = (uint)*(ulong *)(lVar13 + 8);\n      if ((uVar21 < param_9) ||\n         (param_9 + param_10 < (*(ulong *)(lVar13 + 8) & 0xffffffff) + *(ulong *)(lVar13 + 0x10))) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/aarch64.cc",0x1fda,"relocate_section");\n      }\n      plVar23 = (long *)param_2[2];\n      param_8 = param_8 + (ulong)(uVar21 - param_9);\n      param_10 = *(ulong *)(lVar13 + 0x10);\n    }\n  }" if (parenthesized_expression "(param_7 != '\0')" ( (binary_expression "param_7 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    lVar13 = FUN_003cfdd0(param_6,plVar23,(int)param_2[6]);\n    if (lVar13 == 0) {\n      plVar23 = (long *)param_2[2];\n    }\n    else {\n      if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/output.h",0xc5,"address");\n      }\n      if ((*(byte *)(lVar13 + 0x20) & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/output.h",0xcf,"data_size");\n      }\n      uVar21 = (uint)*(ulong *)(lVar13 + 8);\n      if ((uVar21 < param_9) ||\n         (param_9 + param_10 < (*(ulong *)(lVar13 + 8) & 0xffffffff) + *(ulong *)(lVar13 + 0x10))) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/aarch64.cc",0x1fda,"relocate_section");\n      }\n      plVar23 = (long *)param_2[2];\n      param_8 = param_8 + (ulong)(uVar21 - param_9);\n      param_10 = *(ulong *)(lVar13 + 0x10);\n    }\n  }" { (expression_statement "lVar13 = FUN_003cfdd0(param_6,plVar23,(int)param_2[6]);" (assignment_expression "lVar13 = FUN_003cfdd0(param_6,plVar23,(int)param_2[6])" identifier = (call_expression "FUN_003cfdd0(param_6,plVar23,(int)param_2[6])" identifier (argument_list "(param_6,plVar23,(int)param_2[6])" ( identifier , identifier , (cast_expression "(int)param_2[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_2[6]" identifier [ number_literal ])) )))) ;) (if_statement "if (lVar13 == 0) {\n      plVar23 = (long *)param_2[2];\n    }\n    else {\n      if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/output.h",0xc5,"address");\n      }\n      if ((*(byte *)(lVar13 + 0x20) & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/output.h",0xcf,"data_size");\n      }\n      uVar21 = (uint)*(ulong *)(lVar13 + 8);\n      if ((uVar21 < param_9) ||\n         (param_9 + param_10 < (*(ulong *)(lVar13 + 8) & 0xffffffff) + *(ulong *)(lVar13 + 0x10))) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/aarch64.cc",0x1fda,"relocate_section");\n      }\n      plVar23 = (long *)param_2[2];\n      param_8 = param_8 + (ulong)(uVar21 - param_9);\n      param_10 = *(ulong *)(lVar13 + 0x10);\n    }" if (parenthesized_expression "(lVar13 == 0)" ( (binary_expression "lVar13 == 0" identifier == number_literal) )) (compound_statement "{\n      plVar23 = (long *)param_2[2];\n    }" { (expression_statement "plVar23 = (long *)param_2[2];" (assignment_expression "plVar23 = (long *)param_2[2]" identifier = (cast_expression "(long *)param_2[2]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[2]" identifier [ number_literal ]))) ;) }) (else_clause "else {\n      if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/output.h",0xc5,"address");\n      }\n      if ((*(byte *)(lVar13 + 0x20) & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/output.h",0xcf,"data_size");\n      }\n      uVar21 = (uint)*(ulong *)(lVar13 + 8);\n      if ((uVar21 < param_9) ||\n         (param_9 + param_10 < (*(ulong *)(lVar13 + 8) & 0xffffffff) + *(ulong *)(lVar13 + 0x10))) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/aarch64.cc",0x1fda,"relocate_section");\n      }\n      plVar23 = (long *)param_2[2];\n      param_8 = param_8 + (ulong)(uVar21 - param_9);\n      param_10 = *(ulong *)(lVar13 + 0x10);\n    }" else (compound_statement "{\n      if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/output.h",0xc5,"address");\n      }\n      if ((*(byte *)(lVar13 + 0x20) & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/output.h",0xcf,"data_size");\n      }\n      uVar21 = (uint)*(ulong *)(lVar13 + 8);\n      if ((uVar21 < param_9) ||\n         (param_9 + param_10 < (*(ulong *)(lVar13 + 8) & 0xffffffff) + *(ulong *)(lVar13 + 0x10))) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/aarch64.cc",0x1fda,"relocate_section");\n      }\n      plVar23 = (long *)param_2[2];\n      param_8 = param_8 + (ulong)(uVar21 - param_9);\n      param_10 = *(ulong *)(lVar13 + 0x10);\n    }" { (if_statement "if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/output.h",0xc5,"address");\n      }" if (parenthesized_expression "((*(byte *)(lVar13 + 0x20) & 1) == 0)" ( (binary_expression "(*(byte *)(lVar13 + 0x20) & 1) == 0" (parenthesized_expression "(*(byte *)(lVar13 + 0x20) & 1)" ( (binary_expression "*(byte *)(lVar13 + 0x20) & 1" (pointer_expression "*(byte *)(lVar13 + 0x20)" * (cast_expression "(byte *)(lVar13 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x20)" ( (binary_expression "lVar13 + 0x20" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/output.h",0xc5,"address");\n      }" { comment (expression_statement "FUN_00352af0("../../gold/output.h",0xc5,"address");" (call_expression "FUN_00352af0("../../gold/output.h",0xc5,"address")" identifier (argument_list "("../../gold/output.h",0xc5,"address")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""address"" " string_content ") ))) ;) })) (if_statement "if ((*(byte *)(lVar13 + 0x20) & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/output.h",0xcf,"data_size");\n      }" if (parenthesized_expression "((*(byte *)(lVar13 + 0x20) & 2) == 0)" ( (binary_expression "(*(byte *)(lVar13 + 0x20) & 2) == 0" (parenthesized_expression "(*(byte *)(lVar13 + 0x20) & 2)" ( (binary_expression "*(byte *)(lVar13 + 0x20) & 2" (pointer_expression "*(byte *)(lVar13 + 0x20)" * (cast_expression "(byte *)(lVar13 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x20)" ( (binary_expression "lVar13 + 0x20" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/output.h",0xcf,"data_size");\n      }" { comment (expression_statement "FUN_00352af0("../../gold/output.h",0xcf,"data_size");" (call_expression "FUN_00352af0("../../gold/output.h",0xcf,"data_size")" identifier (argument_list "("../../gold/output.h",0xcf,"data_size")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""data_size"" " string_content ") ))) ;) })) (expression_statement "uVar21 = (uint)*(ulong *)(lVar13 + 8);" (assignment_expression "uVar21 = (uint)*(ulong *)(lVar13 + 8)" identifier = (binary_expression "(uint)*(ulong *)(lVar13 + 8)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ulong *)(lVar13 + 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 8)" ( (binary_expression "lVar13 + 8" identifier + number_literal) ))))) ;) (if_statement "if ((uVar21 < param_9) ||\n         (param_9 + param_10 < (*(ulong *)(lVar13 + 8) & 0xffffffff) + *(ulong *)(lVar13 + 0x10))) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/aarch64.cc",0x1fda,"relocate_section");\n      }" if (parenthesized_expression "((uVar21 < param_9) ||\n         (param_9 + param_10 < (*(ulong *)(lVar13 + 8) & 0xffffffff) + *(ulong *)(lVar13 + 0x10)))" ( (binary_expression "(uVar21 < param_9) ||\n         (param_9 + param_10 < (*(ulong *)(lVar13 + 8) & 0xffffffff) + *(ulong *)(lVar13 + 0x10))" (parenthesized_expression "(uVar21 < param_9)" ( (binary_expression "uVar21 < param_9" identifier < identifier) )) || (parenthesized_expression "(param_9 + param_10 < (*(ulong *)(lVar13 + 8) & 0xffffffff) + *(ulong *)(lVar13 + 0x10))" ( (binary_expression "param_9 + param_10 < (*(ulong *)(lVar13 + 8) & 0xffffffff) + *(ulong *)(lVar13 + 0x10)" (binary_expression "param_9 + param_10" identifier + identifier) < (binary_expression "(*(ulong *)(lVar13 + 8) & 0xffffffff) + *(ulong *)(lVar13 + 0x10)" (parenthesized_expression "(*(ulong *)(lVar13 + 8) & 0xffffffff)" ( (binary_expression "*(ulong *)(lVar13 + 8) & 0xffffffff" (pointer_expression "*(ulong *)(lVar13 + 8)" * (cast_expression "(ulong *)(lVar13 + 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 8)" ( (binary_expression "lVar13 + 8" identifier + number_literal) )))) & number_literal) )) + (pointer_expression "*(ulong *)(lVar13 + 0x10)" * (cast_expression "(ulong *)(lVar13 + 0x10)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x10)" ( (binary_expression "lVar13 + 0x10" identifier + number_literal) )))))) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/aarch64.cc",0x1fda,"relocate_section");\n      }" { comment (expression_statement "FUN_00352af0("../../gold/aarch64.cc",0x1fda,"relocate_section");" (call_expression "FUN_00352af0("../../gold/aarch64.cc",0x1fda,"relocate_section")" identifier (argument_list "("../../gold/aarch64.cc",0x1fda,"relocate_section")" ( (string_literal ""../../gold/aarch64.cc"" " string_content ") , number_literal , (string_literal ""relocate_section"" " string_content ") ))) ;) })) (expression_statement "plVar23 = (long *)param_2[2];" (assignment_expression "plVar23 = (long *)param_2[2]" identifier = (cast_expression "(long *)param_2[2]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[2]" identifier [ number_literal ]))) ;) (expression_statement "param_8 = param_8 + (ulong)(uVar21 - param_9);" (assignment_expression "param_8 = param_8 + (ulong)(uVar21 - param_9)" identifier = (binary_expression "param_8 + (ulong)(uVar21 - param_9)" identifier + (call_expression "(ulong)(uVar21 - param_9)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar21 - param_9)" ( (binary_expression "uVar21 - param_9" identifier - identifier) ))))) ;) (expression_statement "param_10 = *(ulong *)(lVar13 + 0x10);" (assignment_expression "param_10 = *(ulong *)(lVar13 + 0x10)" identifier = (pointer_expression "*(ulong *)(lVar13 + 0x10)" * (cast_expression "(ulong *)(lVar13 + 0x10)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x10)" ( (binary_expression "lVar13 + 0x10" identifier + number_literal) ))))) ;) }))) })) (expression_statement "pcVar2 = *(code **)(*plVar23 + 0x118);" (assignment_expression "pcVar2 = *(code **)(*plVar23 + 0x118)" identifier = (pointer_expression "*(code **)(*plVar23 + 0x118)" * (cast_expression "(code **)(*plVar23 + 0x118)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar23 + 0x118)" ( (binary_expression "*plVar23 + 0x118" (pointer_expression "*plVar23" * identifier) + number_literal) ))))) ;) (if_statement "if (pcVar2 == FUN_001a4ab0) {\n    local_ec = (**(code **)(*plVar23 + 0x178))();\n  }\n  else {\n    local_ec = (*pcVar2)(plVar23);\n  }" if (parenthesized_expression "(pcVar2 == FUN_001a4ab0)" ( (binary_expression "pcVar2 == FUN_001a4ab0" identifier == identifier) )) (compound_statement "{\n    local_ec = (**(code **)(*plVar23 + 0x178))();\n  }" { (expression_statement "local_ec = (**(code **)(*plVar23 + 0x178))();" (assignment_expression "local_ec = (**(code **)(*plVar23 + 0x178))()" identifier = (call_expression "(**(code **)(*plVar23 + 0x178))()" (parenthesized_expression "(**(code **)(*plVar23 + 0x178))" ( (pointer_expression "**(code **)(*plVar23 + 0x178)" * (pointer_expression "*(code **)(*plVar23 + 0x178)" * (cast_expression "(code **)(*plVar23 + 0x178)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar23 + 0x178)" ( (binary_expression "*plVar23 + 0x178" (pointer_expression "*plVar23" * identifier) + number_literal) ))))) )) (argument_list "()" ( )))) ;) }) (else_clause "else {\n    local_ec = (*pcVar2)(plVar23);\n  }" else (compound_statement "{\n    local_ec = (*pcVar2)(plVar23);\n  }" { (expression_statement "local_ec = (*pcVar2)(plVar23);" (assignment_expression "local_ec = (*pcVar2)(plVar23)" identifier = (call_expression "(*pcVar2)(plVar23)" (parenthesized_expression "(*pcVar2)" ( (pointer_expression "*pcVar2" * identifier) )) (argument_list "(plVar23)" ( identifier )))) ;) }))) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "local_148 = 0;" (assignment_expression "local_148 = 0" identifier = number_literal) ;) (expression_statement "local_120 = param_4;" (assignment_expression "local_120 = param_4" identifier = identifier) ;) (if_statement "if (param_5 != 0) {\n    do {\n      uVar21 = *local_120;\n      local_140 = (ulong)(uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18);\n      if ((param_7 == '\0') ||\n         (local_140 = FUN_003cff80(param_6,param_2[2],(int)param_2[6],local_140),\n         local_140 != 0xffffffffffffffff)) {\n        local_d0 = 0x80000000;\n        local_c8 = 0;\n        uVar21 = local_120[1];\n        local_d8 = 0xffffffff00000000;\n        uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n        if (uVar21 < local_ec) {\n          if ((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))\n          {\nLAB_0030fa33:\n            iVar7 = *(int *)((long)puVar10 + 0x1c);\n            uVar17 = iVar7 - 1;\n            if (0xfffffffd < uVar17) goto LAB_0030fa42;\nLAB_0030fcf0:\n            if (uVar17 == 0xfffffffd) {\n                    /* WARNING: Subroutine does not return */\n              FUN_00352af0("../../gold/object.h",0x70d,"set_output_symtab_index");\n            }\n            local_d8 = CONCAT44(local_d8._4_4_,iVar7);\n            goto LAB_0030fa4a;\n          }\n          if ((ulong)((plVar23[0x2d] - plVar23[0x2c] >> 3) * -0x5555555555555555) <= (ulong)uVar21)\n          {\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/object.h",0x8c1,"local_symbol");\n          }\n          puVar22 = (undefined8 *)(plVar23[0x2c] + (ulong)uVar21 * 0x18);\n          uVar1 = *(uint *)(puVar22 + 1);\n          uVar6 = uVar1 & 0x7ffffff;\n          uVar17 = uVar1 & 0x7ffffff;\n          if (((*(byte *)((long)puVar22 + 0xb) & 8) == 0) || (uVar6 == 0)) {\nLAB_0030fbb3:\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }\n          if ((ulong)(plVar23[0xb] - plVar23[10] >> 3) <= (ulong)uVar6) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310860 to 00310864 has its CatchHandler @ 0031092a */\n            FUN_00352af0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(long *)(plVar23[10] + (ulong)uVar6 * 8) != 0) goto LAB_0030fbb3;\n          cVar4 = FUN_00443530(*param_2,plVar23,uVar1 & 0x7ffffff);\n          puVar10 = (undefined8 *)0x0;\n          if (cVar4 != '\0') {\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }\nLAB_0030fd25:\n          local_b0 = 0x80000000;\n          local_b8 = 0xffffffff00000000;\n          local_a8 = 0;\n          if (*(code **)(*plVar23 + 0x80) == FUN_0022c990) {\n                    /* try { // try from 0030fd86 to 0030fd8a has its CatchHandler @ 00310922 */\n            FUN_0022c800(local_58,plVar23 + 0x1f);\n          }\n          else {\n                    /* try { // try from 00310038 to 00310039 has its CatchHandler @ 00310922 */\n            (**(code **)(*plVar23 + 0x80))(local_58,plVar23,(int)param_2[6]);\n          }\n          bVar24 = false;\n          bVar26 = iVar8 == 0;\n          if (bVar26) {\n            lVar13 = 6;\n            pbVar18 = local_58[0];\n            pbVar19 = &DAT_00533552;\n            do {\n              if (lVar13 == 0) break;\n              lVar13 = lVar13 + -1;\n              bVar24 = *pbVar18 < *pbVar19;\n              bVar26 = *pbVar18 == *pbVar19;\n              pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n              pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n            } while (bVar26);\n            bVar25 = false;\n            bVar24 = (!bVar24 && !bVar26) == bVar24;\n            if (!bVar24) {\n              lVar13 = 7;\n              pbVar18 = local_58[0];\n              pbVar19 = (byte *)".zdebug";\n              do {\n                if (lVar13 == 0) break;\n                lVar13 = lVar13 + -1;\n                bVar25 = *pbVar18 < *pbVar19;\n                bVar24 = *pbVar18 == *pbVar19;\n                pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar13 = 0x11;\n                pbVar18 = local_58[0];\n                pbVar19 = (byte *)".gnu.linkonce.wi.";\n                do {\n                  if (lVar13 == 0) break;\n                  lVar13 = lVar13 + -1;\n                  bVar26 = *pbVar18 < *pbVar19;\n                  bVar24 = *pbVar18 == *pbVar19;\n                  pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  lVar13 = 5;\n                  pbVar18 = local_58[0];\n                  pbVar19 = (byte *)".line";\n                  do {\n                    if (lVar13 == 0) break;\n                    lVar13 = lVar13 + -1;\n                    bVar25 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    lVar13 = 5;\n                    pbVar18 = local_58[0];\n                    pbVar19 = (byte *)".stab";\n                    do {\n                      if (lVar13 == 0) break;\n                      lVar13 = lVar13 + -1;\n                      bVar26 = *pbVar18 < *pbVar19;\n                      bVar24 = *pbVar18 == *pbVar19;\n                      pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                      pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      lVar13 = 4;\n                      pbVar18 = local_58[0];\n                      pbVar19 = &DAT_0053357f;\n                      do {\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0030fdc0:\n                    /* try { // try from 0030fdd2 to 0030fdd6 has its CatchHandler @ 00310912 */\n            iVar8 = FUN_00397c50(plVar23,uVar17,local_58,&local_78);\n            local_a8 = 0;\n            if (local_78 != '\0') {\n              local_a8 = iVar8 + *(int *)(puVar22 + 2);\n            }\n            iVar8 = 1;\n          }\n          else {\n            if (iVar8 == 1) goto LAB_0030fdc0;\n            if (iVar8 == 3) {\nLAB_0030ff50:\n              lVar13 = param_2[2];\n              if (puVar10 == (undefined8 *)0x0) {\n                    /* try { // try from 003105ee to 0031061d has its CatchHandler @ 00310912 */\n                uVar9 = FUN_0039dd50(lVar13,uVar21);\n                uVar11 = gettext(\n                                "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                );\n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9,uVar21);\n              }\n              else {\n                    /* try { // try from 0030ff70 to 0030ff74 has its CatchHandler @ 00310912 */\n                FUN_004443d0(&local_78,puVar10);\n                uVar9 = CONCAT71(uStack_77,local_78);\n                uVar11 = gettext(\n                                "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                );\n                    /* try { // try from 0030ffa4 to 0030ffa8 has its CatchHandler @ 0031093c */\n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9);\n                if ((undefined1 *)CONCAT71(uStack_77,local_78) != auStack_68) {\n                  FUN_0049e340();\n                }\n              }\n                    /* try { // try from 0030ffd1 to 0030ffd5 has its CatchHandler @ 00310912 */\n              iVar8 = FUN_0039d3c0(lVar13,uVar21,local_e0,&local_e1);\n              if (iVar8 != 0) {\n                    /* try { // try from 00310544 to 0031057d has its CatchHandler @ 00310912 */\n                lVar15 = FUN_00397ec0(lVar13,iVar8,&local_dc);\n                if (local_dc != 0) {\n                    /* try { // try from 00310725 to 00310745 has its CatchHandler @ 00310912 */\n                  uVar9 = FUN_0039dd50(lVar13);\n                  uVar11 = gettext("  section group signature: \"%s\"");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n                if (lVar15 != 0) {\n                  uVar9 = *(undefined8 *)(lVar15 + 8);\n                  uVar11 = gettext("  prevailing definition is from %s");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n              }\n              iVar8 = 3;\n            }\n            else {\nLAB_00310006:\n              iVar8 = 2;\n            }\n            local_a8 = 0;\n          }\n          if ((int)local_b8 != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310794 to 00310798 has its CatchHandler @ 00310912 */\n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\n          local_b8 = CONCAT44(local_b8._4_4_,0xffffffff);\n          if (local_58[0] != abStack_48) {\n            FUN_0049e340();\n          }\n          puVar22 = &local_b8;\n          if (-1 < (long)local_140) goto LAB_0030fae5;\nLAB_0030fe48:\n          uVar9 = gettext("reloc has bad offset %zu");\n                    /* try { // try from 0030fe68 to 0030fe6c has its CatchHandler @ 00310922 */\n          FUN_0034aed0(param_2,local_148,local_140,uVar9,local_140);\n        }\n        else {\n          if ((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))\n          goto LAB_0030fa33;\n          if (uVar21 < *(uint *)(plVar23 + 0x24)) {\nLAB_003107a0:\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003107b3 to 003107ff has its CatchHandler @ 0031092a */\n            FUN_00352af0("../../gold/target-reloc.h",0x17f,"relocate_section");\n          }\n          uVar14 = (ulong)(uVar21 - *(uint *)(plVar23 + 0x24));\n          if ((ulong)(plVar23[0x27] - plVar23[0x26] >> 3) <= uVar14) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/object.h",0x8ad,"global_symbol");\n          }\n          puVar10 = *(undefined8 **)(plVar23[0x26] + uVar14 * 8);\n          if (puVar10 == (undefined8 *)0x0) goto LAB_003107a0;\n          if ((*(byte *)((long)puVar10 + 0x3a) & 0x10) == 0) goto LAB_0030fa33;\n                    /* try { // try from 0030fc40 to 0030fcb4 has its CatchHandler @ 0031092a */\n          puVar10 = (undefined8 *)FUN_00443580(*param_2,puVar10);\n          iVar7 = *(int *)((long)puVar10 + 0x1c);\n          uVar17 = iVar7 - 1;\n          if (uVar17 < 0xfffffffe) {\n            if (((int)local_d8 != 0) && ((int)local_d8 != -2)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0031077c to 00310780 has its CatchHandler @ 0031092a */\n              FUN_00352af0("../../gold/object.h",0x70c,"set_output_symtab_index");\n            }\n            goto LAB_0030fcf0;\n          }\n          if ((int)local_d8 != 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\nLAB_0030fa42:\n          local_d8 = CONCAT44(local_d8._4_4_,0xffffffff);\nLAB_0030fa4a:\n          local_c8 = *(undefined4 *)(puVar10 + 8);\n          if ((*(byte *)(puVar10 + 7) & 0xf) == 6) {\n            local_d0 = local_d0 | 0x20000000;\n          }\n          else if ((*(byte *)(puVar10 + 7) & 0xf) == 10) {\n            local_d0 = local_d0 | 0x40000000;\n          }\n          if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') {\n            if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) {\nLAB_0030fd10:\n                puVar22 = &local_d8;\n                uVar17 = 0;\n                goto LAB_0030fd25;\n              }\n            }\n            else if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 4) goto LAB_0030fd10;\n          }\n          puVar22 = &local_d8;\nLAB_0030faa5:\n          local_b0 = 0x80000000;\n          local_b8 = 0xffffffff00000000;\n          local_a8 = 0;\n          if ((long)local_140 < 0) goto LAB_0030fe48;\nLAB_0030fae5:\n          if ((param_10 <= local_140) || (local_140 + param_8 == 0)) goto LAB_0030fe48;\n          uVar21 = local_120[1];\n          if (uVar21 >> 0x18 != 0) {\n            uVar9 = gettext("Invalid/unrecognized reloc reloc %d.");\n                    /* try { // try from 0030fb3d to 0030fb59 has its CatchHandler @ 00310922 */\n            FUN_0034a750(uVar9,uVar21 >> 0x18);\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/aarch64-reloc-property.h",0xeb,"code_to_array_index");\n          }\n          if (*DAT_0067dff8 == 0) {\n                    /* try { // try from 003104dd to 003104e1 has its CatchHandler @ 00310922 */\n            FUN_0031d8d0(local_58,DAT_0067dff8,0);\n            pbVar18 = local_58[0];\n            uVar9 = gettext("cannot relocate %s in object file");\n            uVar21 = *local_120;\n                    /* try { // try from 00310510 to 00310514 has its CatchHandler @ 0031091a */\n            FUN_0034aed0(param_2,local_148,\n                         uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18,uVar9,pbVar18);\n            if (local_58[0] != abStack_48) {\n              FUN_0049e340();\n            }\n          }\n          else {\n            plVar3 = (long *)param_2[2];\n            local_90 = 0x80000000;\n            local_98 = 0xffffffff00000000;\n            local_88 = 0;\n            if (puVar10 == (undefined8 *)0x0) {\n              if ((*(byte *)((long)puVar22 + 0xb) & 0x40) != 0) {\n                uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n                    /* try { // try from 00310475 to 003104bc has its CatchHandler @ 00310944 */\n                cVar4 = FUN_00397bb0(plVar3,uVar21);\n                if (cVar4 != '\0') {\n                  lVar13 = *(long *)(param_1 + 0x28);\n                  if (lVar13 == 0) {\n                    /* try { // try from 003108c5 to 003108c9 has its CatchHandler @ 00310944 */\n                    FUN_002ed4a0();\n                    goto LAB_003108ca;\n                  }\n                  if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108a8 to 003108ac has its CatchHandler @ 00310944 */\n                    FUN_00352af0("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar9 = *(undefined8 *)(lVar13 + 8);\n                  iVar7 = *(int *)(lVar13 + 0x68);\n                  local_88 = (**(code **)(*plVar3 + 0x150))(plVar3,uVar21);\n                  local_88 = (int)uVar9 + 0x20 + iVar7 * 0x10 + local_88;\n                }\n              }\n            }\n            else {\n                    /* try { // try from 003100df to 00310101 has its CatchHandler @ 00310944 */\n              cVar4 = FUN_00228fa0(puVar10,*(undefined4 *)(*DAT_0067dff8 + 0x4c));\n              if (cVar4 != '\0') {\n                if (*(long *)(param_1 + 0x28) == 0) {\n                    /* try { // try from 00310800 to 00310804 has its CatchHandler @ 00310944 */\n                  FUN_002ed4a0();\n                  goto LAB_00310805;\n                }\n                local_88 = FUN_002f9c90(*(long *)(param_1 + 0x28),puVar10);\n              }\n            }\n            FUN_001a5bc0(&local_98);\n          }\n          if (puVar10 != (undefined8 *)0x0) {\n            bVar16 = *(byte *)((long)puVar10 + 0x3a);\n            bVar5 = bVar16 & 7;\n            if ((bVar16 & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) != 0) || ((*(byte *)((long)puVar10 + 0x3b) & 0x20) == 0)) {\n                if (*(code **)(*(long *)puVar10[2] + 0x28) != FUN_001a4aa0) {\n                  lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                  if (lVar13 != 0) {\n                    bVar16 = *(byte *)((long)puVar10 + 0x3a);\n                    bVar5 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar5 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)puVar10 + 0x3b)) goto LAB_00310305;\n                    bVar5 = *(byte *)((long)puVar10 + 0x39);\n                    if ((bVar5 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }\nLAB_0031015a:\n                bVar16 = bVar16 & 7;\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                if ((*(byte *)((long)puVar10 + 0x39) & 3) == 0) goto LAB_003101c0;\nLAB_00310166:\n                if (((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)\n                    ) && ((*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0)))) {\nLAB_00310293:\n                  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_003108ca:\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108dd to 003108e1 has its CatchHandler @ 00310922 */\n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') {\n                    if (bVar16 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)(puVar10[2] + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }\n                if (bVar5 == 2) {\n                  uVar9 = gettext("hidden");\n                }\n                else if (bVar5 < 3) {\n                  if (bVar5 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar9 = gettext("internal");\n                }\n                else {\n                  uVar9 = gettext("protected");\n                }\n                uVar11 = *puVar10;\n                uVar12 = gettext("%s symbol \'%s\' is not defined locally");\n                    /* try { // try from 003101b4 to 0031042c has its CatchHandler @ 00310922 */\n                FUN_0034a750(uVar12,uVar9,uVar11);\n                goto LAB_003101c0;\n              }\nLAB_0031020c:\n              if ((*(byte *)(puVar10 + 7) >> 4 == 2) || ((*(byte *)((long)puVar10 + 0x3c) & 2) != 0)\n                 ) {\nLAB_00310438:\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_0031043f:\n                if (bVar5 == 0) goto LAB_003101c0;\n                bVar16 = *(byte *)((long)puVar10 + 0x3a) & 7;\n                if (bVar16 != 0) goto LAB_00310270;\n                goto LAB_00310166;\n              }\n              if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310878 to 0031087c has its CatchHandler @ 00310922 */\n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') goto LAB_00310438;\n              if (*(char *)((long)puVar10 + 0x3b) < '\0') {\n                if (bVar5 != 0) goto LAB_00310260;\nLAB_003105b8:\n                if (*(code **)(*(long *)puVar10[2] + 0x28) == FUN_001a4aa0) goto LAB_0031015a;\n                    /* try { // try from 003105cc to 003105cd has its CatchHandler @ 00310922 */\n                lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                if (lVar13 == 0) goto LAB_00310438;\n              }\nLAB_00310305:\n              plVar3 = *(long **)(PTR_DAT_0067cb08 + 0x18);\n              if (plVar3 == (long *)0x0) {\nLAB_00310805:\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310818 to 0031084c has its CatchHandler @ 00310922 */\n                FUN_00352af0("../../gold/parameters.h",0x69,"target");\n              }\n              if ((*(code **)(*plVar3 + 0x38) != FUN_001a49e0) &&\n                 (cVar4 = (**(code **)(*plVar3 + 0x38))(plVar3,puVar10), cVar4 != '\0'))\n              goto LAB_00310438;\n              lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar13 == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              pbVar18 = *(byte **)(lVar13 + 0x6c40);\n              bVar24 = false;\n              bVar26 = pbVar18 == (byte *)0x0;\n              if (bVar26) {\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_003103c9:\n                if ((bVar5 == 2) ||\n                   ((*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0'))))\n                goto LAB_003103e1;\n                goto LAB_0031043f;\n              }\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"ignore-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar24 = *pbVar19 < *pbVar20;\n                bVar26 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar26);\n              bVar25 = false;\n              bVar24 = (!bVar24 && !bVar26) == bVar24;\n              if (bVar24) goto LAB_00310438;\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"report-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar25 = *pbVar19 < *pbVar20;\n                bVar24 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar15 = 0x17;\n                pbVar19 = pbVar18;\n                pbVar20 = (byte *)"ignore-in-object-files";\n                do {\n                  if (lVar15 == 0) break;\n                  lVar15 = lVar15 + -1;\n                  bVar26 = *pbVar19 < *pbVar20;\n                  bVar24 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if ((!bVar24) || (bVar24 = (*(byte *)((long)puVar10 + 0x3b) & 1) == 0, !bVar24)) {\n                  bVar26 = false;\n                  lVar15 = 0x16;\n                  pbVar19 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    if (lVar15 == 0) break;\n                    lVar15 = lVar15 + -1;\n                    bVar26 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  if (((!bVar26 && !bVar24) != bVar26) || (*(char *)((long)puVar10 + 0x3a) < '\0'))\n                  goto LAB_003103c9;\n                }\n                goto LAB_0031043f;\n              }\nLAB_003103e1:\n              FUN_0034b9f0(puVar10,param_2,local_148,local_140);\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            else {\n              if (bVar5 == 4) goto LAB_0031020c;\nLAB_00310260:\n              bVar5 = *(byte *)((long)puVar10 + 0x39);\n              if ((bVar5 & 3) != 0) {\nLAB_0031026d:\n                bVar5 = bVar5 & 3;\n                bVar16 = bVar16 & 7;\nLAB_00310270:\n                if (((bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2)) &&\n                   (bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0)) goto LAB_00310293;\n              }\nLAB_003101c0:\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            if ((bVar16 & 4) != 0) {\n              FUN_00446c20(*param_2 + 0x1e0,puVar10,param_2,local_148,local_140);\n            }\n          }\n        }\n        local_138 = &local_d8;\n        FUN_001a5bc0(&local_b8);\n        FUN_001a5bc0(local_138);\n      }\n      local_148 = local_148 + 1;\n      local_120 = local_120 + 3;\n    } while (param_5 != local_148);\n  }" if (parenthesized_expression "(param_5 != 0)" ( (binary_expression "param_5 != 0" identifier != number_literal) )) (compound_statement "{\n    do {\n      uVar21 = *local_120;\n      local_140 = (ulong)(uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18);\n      if ((param_7 == '\0') ||\n         (local_140 = FUN_003cff80(param_6,param_2[2],(int)param_2[6],local_140),\n         local_140 != 0xffffffffffffffff)) {\n        local_d0 = 0x80000000;\n        local_c8 = 0;\n        uVar21 = local_120[1];\n        local_d8 = 0xffffffff00000000;\n        uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n        if (uVar21 < local_ec) {\n          if ((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))\n          {\nLAB_0030fa33:\n            iVar7 = *(int *)((long)puVar10 + 0x1c);\n            uVar17 = iVar7 - 1;\n            if (0xfffffffd < uVar17) goto LAB_0030fa42;\nLAB_0030fcf0:\n            if (uVar17 == 0xfffffffd) {\n                    /* WARNING: Subroutine does not return */\n              FUN_00352af0("../../gold/object.h",0x70d,"set_output_symtab_index");\n            }\n            local_d8 = CONCAT44(local_d8._4_4_,iVar7);\n            goto LAB_0030fa4a;\n          }\n          if ((ulong)((plVar23[0x2d] - plVar23[0x2c] >> 3) * -0x5555555555555555) <= (ulong)uVar21)\n          {\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/object.h",0x8c1,"local_symbol");\n          }\n          puVar22 = (undefined8 *)(plVar23[0x2c] + (ulong)uVar21 * 0x18);\n          uVar1 = *(uint *)(puVar22 + 1);\n          uVar6 = uVar1 & 0x7ffffff;\n          uVar17 = uVar1 & 0x7ffffff;\n          if (((*(byte *)((long)puVar22 + 0xb) & 8) == 0) || (uVar6 == 0)) {\nLAB_0030fbb3:\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }\n          if ((ulong)(plVar23[0xb] - plVar23[10] >> 3) <= (ulong)uVar6) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310860 to 00310864 has its CatchHandler @ 0031092a */\n            FUN_00352af0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(long *)(plVar23[10] + (ulong)uVar6 * 8) != 0) goto LAB_0030fbb3;\n          cVar4 = FUN_00443530(*param_2,plVar23,uVar1 & 0x7ffffff);\n          puVar10 = (undefined8 *)0x0;\n          if (cVar4 != '\0') {\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }\nLAB_0030fd25:\n          local_b0 = 0x80000000;\n          local_b8 = 0xffffffff00000000;\n          local_a8 = 0;\n          if (*(code **)(*plVar23 + 0x80) == FUN_0022c990) {\n                    /* try { // try from 0030fd86 to 0030fd8a has its CatchHandler @ 00310922 */\n            FUN_0022c800(local_58,plVar23 + 0x1f);\n          }\n          else {\n                    /* try { // try from 00310038 to 00310039 has its CatchHandler @ 00310922 */\n            (**(code **)(*plVar23 + 0x80))(local_58,plVar23,(int)param_2[6]);\n          }\n          bVar24 = false;\n          bVar26 = iVar8 == 0;\n          if (bVar26) {\n            lVar13 = 6;\n            pbVar18 = local_58[0];\n            pbVar19 = &DAT_00533552;\n            do {\n              if (lVar13 == 0) break;\n              lVar13 = lVar13 + -1;\n              bVar24 = *pbVar18 < *pbVar19;\n              bVar26 = *pbVar18 == *pbVar19;\n              pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n              pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n            } while (bVar26);\n            bVar25 = false;\n            bVar24 = (!bVar24 && !bVar26) == bVar24;\n            if (!bVar24) {\n              lVar13 = 7;\n              pbVar18 = local_58[0];\n              pbVar19 = (byte *)".zdebug";\n              do {\n                if (lVar13 == 0) break;\n                lVar13 = lVar13 + -1;\n                bVar25 = *pbVar18 < *pbVar19;\n                bVar24 = *pbVar18 == *pbVar19;\n                pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar13 = 0x11;\n                pbVar18 = local_58[0];\n                pbVar19 = (byte *)".gnu.linkonce.wi.";\n                do {\n                  if (lVar13 == 0) break;\n                  lVar13 = lVar13 + -1;\n                  bVar26 = *pbVar18 < *pbVar19;\n                  bVar24 = *pbVar18 == *pbVar19;\n                  pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  lVar13 = 5;\n                  pbVar18 = local_58[0];\n                  pbVar19 = (byte *)".line";\n                  do {\n                    if (lVar13 == 0) break;\n                    lVar13 = lVar13 + -1;\n                    bVar25 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    lVar13 = 5;\n                    pbVar18 = local_58[0];\n                    pbVar19 = (byte *)".stab";\n                    do {\n                      if (lVar13 == 0) break;\n                      lVar13 = lVar13 + -1;\n                      bVar26 = *pbVar18 < *pbVar19;\n                      bVar24 = *pbVar18 == *pbVar19;\n                      pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                      pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      lVar13 = 4;\n                      pbVar18 = local_58[0];\n                      pbVar19 = &DAT_0053357f;\n                      do {\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0030fdc0:\n                    /* try { // try from 0030fdd2 to 0030fdd6 has its CatchHandler @ 00310912 */\n            iVar8 = FUN_00397c50(plVar23,uVar17,local_58,&local_78);\n            local_a8 = 0;\n            if (local_78 != '\0') {\n              local_a8 = iVar8 + *(int *)(puVar22 + 2);\n            }\n            iVar8 = 1;\n          }\n          else {\n            if (iVar8 == 1) goto LAB_0030fdc0;\n            if (iVar8 == 3) {\nLAB_0030ff50:\n              lVar13 = param_2[2];\n              if (puVar10 == (undefined8 *)0x0) {\n                    /* try { // try from 003105ee to 0031061d has its CatchHandler @ 00310912 */\n                uVar9 = FUN_0039dd50(lVar13,uVar21);\n                uVar11 = gettext(\n                                "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                );\n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9,uVar21);\n              }\n              else {\n                    /* try { // try from 0030ff70 to 0030ff74 has its CatchHandler @ 00310912 */\n                FUN_004443d0(&local_78,puVar10);\n                uVar9 = CONCAT71(uStack_77,local_78);\n                uVar11 = gettext(\n                                "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                );\n                    /* try { // try from 0030ffa4 to 0030ffa8 has its CatchHandler @ 0031093c */\n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9);\n                if ((undefined1 *)CONCAT71(uStack_77,local_78) != auStack_68) {\n                  FUN_0049e340();\n                }\n              }\n                    /* try { // try from 0030ffd1 to 0030ffd5 has its CatchHandler @ 00310912 */\n              iVar8 = FUN_0039d3c0(lVar13,uVar21,local_e0,&local_e1);\n              if (iVar8 != 0) {\n                    /* try { // try from 00310544 to 0031057d has its CatchHandler @ 00310912 */\n                lVar15 = FUN_00397ec0(lVar13,iVar8,&local_dc);\n                if (local_dc != 0) {\n                    /* try { // try from 00310725 to 00310745 has its CatchHandler @ 00310912 */\n                  uVar9 = FUN_0039dd50(lVar13);\n                  uVar11 = gettext("  section group signature: \"%s\"");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n                if (lVar15 != 0) {\n                  uVar9 = *(undefined8 *)(lVar15 + 8);\n                  uVar11 = gettext("  prevailing definition is from %s");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n              }\n              iVar8 = 3;\n            }\n            else {\nLAB_00310006:\n              iVar8 = 2;\n            }\n            local_a8 = 0;\n          }\n          if ((int)local_b8 != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310794 to 00310798 has its CatchHandler @ 00310912 */\n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\n          local_b8 = CONCAT44(local_b8._4_4_,0xffffffff);\n          if (local_58[0] != abStack_48) {\n            FUN_0049e340();\n          }\n          puVar22 = &local_b8;\n          if (-1 < (long)local_140) goto LAB_0030fae5;\nLAB_0030fe48:\n          uVar9 = gettext("reloc has bad offset %zu");\n                    /* try { // try from 0030fe68 to 0030fe6c has its CatchHandler @ 00310922 */\n          FUN_0034aed0(param_2,local_148,local_140,uVar9,local_140);\n        }\n        else {\n          if ((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))\n          goto LAB_0030fa33;\n          if (uVar21 < *(uint *)(plVar23 + 0x24)) {\nLAB_003107a0:\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003107b3 to 003107ff has its CatchHandler @ 0031092a */\n            FUN_00352af0("../../gold/target-reloc.h",0x17f,"relocate_section");\n          }\n          uVar14 = (ulong)(uVar21 - *(uint *)(plVar23 + 0x24));\n          if ((ulong)(plVar23[0x27] - plVar23[0x26] >> 3) <= uVar14) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/object.h",0x8ad,"global_symbol");\n          }\n          puVar10 = *(undefined8 **)(plVar23[0x26] + uVar14 * 8);\n          if (puVar10 == (undefined8 *)0x0) goto LAB_003107a0;\n          if ((*(byte *)((long)puVar10 + 0x3a) & 0x10) == 0) goto LAB_0030fa33;\n                    /* try { // try from 0030fc40 to 0030fcb4 has its CatchHandler @ 0031092a */\n          puVar10 = (undefined8 *)FUN_00443580(*param_2,puVar10);\n          iVar7 = *(int *)((long)puVar10 + 0x1c);\n          uVar17 = iVar7 - 1;\n          if (uVar17 < 0xfffffffe) {\n            if (((int)local_d8 != 0) && ((int)local_d8 != -2)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0031077c to 00310780 has its CatchHandler @ 0031092a */\n              FUN_00352af0("../../gold/object.h",0x70c,"set_output_symtab_index");\n            }\n            goto LAB_0030fcf0;\n          }\n          if ((int)local_d8 != 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\nLAB_0030fa42:\n          local_d8 = CONCAT44(local_d8._4_4_,0xffffffff);\nLAB_0030fa4a:\n          local_c8 = *(undefined4 *)(puVar10 + 8);\n          if ((*(byte *)(puVar10 + 7) & 0xf) == 6) {\n            local_d0 = local_d0 | 0x20000000;\n          }\n          else if ((*(byte *)(puVar10 + 7) & 0xf) == 10) {\n            local_d0 = local_d0 | 0x40000000;\n          }\n          if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') {\n            if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) {\nLAB_0030fd10:\n                puVar22 = &local_d8;\n                uVar17 = 0;\n                goto LAB_0030fd25;\n              }\n            }\n            else if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 4) goto LAB_0030fd10;\n          }\n          puVar22 = &local_d8;\nLAB_0030faa5:\n          local_b0 = 0x80000000;\n          local_b8 = 0xffffffff00000000;\n          local_a8 = 0;\n          if ((long)local_140 < 0) goto LAB_0030fe48;\nLAB_0030fae5:\n          if ((param_10 <= local_140) || (local_140 + param_8 == 0)) goto LAB_0030fe48;\n          uVar21 = local_120[1];\n          if (uVar21 >> 0x18 != 0) {\n            uVar9 = gettext("Invalid/unrecognized reloc reloc %d.");\n                    /* try { // try from 0030fb3d to 0030fb59 has its CatchHandler @ 00310922 */\n            FUN_0034a750(uVar9,uVar21 >> 0x18);\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/aarch64-reloc-property.h",0xeb,"code_to_array_index");\n          }\n          if (*DAT_0067dff8 == 0) {\n                    /* try { // try from 003104dd to 003104e1 has its CatchHandler @ 00310922 */\n            FUN_0031d8d0(local_58,DAT_0067dff8,0);\n            pbVar18 = local_58[0];\n            uVar9 = gettext("cannot relocate %s in object file");\n            uVar21 = *local_120;\n                    /* try { // try from 00310510 to 00310514 has its CatchHandler @ 0031091a */\n            FUN_0034aed0(param_2,local_148,\n                         uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18,uVar9,pbVar18);\n            if (local_58[0] != abStack_48) {\n              FUN_0049e340();\n            }\n          }\n          else {\n            plVar3 = (long *)param_2[2];\n            local_90 = 0x80000000;\n            local_98 = 0xffffffff00000000;\n            local_88 = 0;\n            if (puVar10 == (undefined8 *)0x0) {\n              if ((*(byte *)((long)puVar22 + 0xb) & 0x40) != 0) {\n                uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n                    /* try { // try from 00310475 to 003104bc has its CatchHandler @ 00310944 */\n                cVar4 = FUN_00397bb0(plVar3,uVar21);\n                if (cVar4 != '\0') {\n                  lVar13 = *(long *)(param_1 + 0x28);\n                  if (lVar13 == 0) {\n                    /* try { // try from 003108c5 to 003108c9 has its CatchHandler @ 00310944 */\n                    FUN_002ed4a0();\n                    goto LAB_003108ca;\n                  }\n                  if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108a8 to 003108ac has its CatchHandler @ 00310944 */\n                    FUN_00352af0("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar9 = *(undefined8 *)(lVar13 + 8);\n                  iVar7 = *(int *)(lVar13 + 0x68);\n                  local_88 = (**(code **)(*plVar3 + 0x150))(plVar3,uVar21);\n                  local_88 = (int)uVar9 + 0x20 + iVar7 * 0x10 + local_88;\n                }\n              }\n            }\n            else {\n                    /* try { // try from 003100df to 00310101 has its CatchHandler @ 00310944 */\n              cVar4 = FUN_00228fa0(puVar10,*(undefined4 *)(*DAT_0067dff8 + 0x4c));\n              if (cVar4 != '\0') {\n                if (*(long *)(param_1 + 0x28) == 0) {\n                    /* try { // try from 00310800 to 00310804 has its CatchHandler @ 00310944 */\n                  FUN_002ed4a0();\n                  goto LAB_00310805;\n                }\n                local_88 = FUN_002f9c90(*(long *)(param_1 + 0x28),puVar10);\n              }\n            }\n            FUN_001a5bc0(&local_98);\n          }\n          if (puVar10 != (undefined8 *)0x0) {\n            bVar16 = *(byte *)((long)puVar10 + 0x3a);\n            bVar5 = bVar16 & 7;\n            if ((bVar16 & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) != 0) || ((*(byte *)((long)puVar10 + 0x3b) & 0x20) == 0)) {\n                if (*(code **)(*(long *)puVar10[2] + 0x28) != FUN_001a4aa0) {\n                  lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                  if (lVar13 != 0) {\n                    bVar16 = *(byte *)((long)puVar10 + 0x3a);\n                    bVar5 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar5 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)puVar10 + 0x3b)) goto LAB_00310305;\n                    bVar5 = *(byte *)((long)puVar10 + 0x39);\n                    if ((bVar5 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }\nLAB_0031015a:\n                bVar16 = bVar16 & 7;\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                if ((*(byte *)((long)puVar10 + 0x39) & 3) == 0) goto LAB_003101c0;\nLAB_00310166:\n                if (((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)\n                    ) && ((*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0)))) {\nLAB_00310293:\n                  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_003108ca:\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108dd to 003108e1 has its CatchHandler @ 00310922 */\n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') {\n                    if (bVar16 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)(puVar10[2] + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }\n                if (bVar5 == 2) {\n                  uVar9 = gettext("hidden");\n                }\n                else if (bVar5 < 3) {\n                  if (bVar5 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar9 = gettext("internal");\n                }\n                else {\n                  uVar9 = gettext("protected");\n                }\n                uVar11 = *puVar10;\n                uVar12 = gettext("%s symbol \'%s\' is not defined locally");\n                    /* try { // try from 003101b4 to 0031042c has its CatchHandler @ 00310922 */\n                FUN_0034a750(uVar12,uVar9,uVar11);\n                goto LAB_003101c0;\n              }\nLAB_0031020c:\n              if ((*(byte *)(puVar10 + 7) >> 4 == 2) || ((*(byte *)((long)puVar10 + 0x3c) & 2) != 0)\n                 ) {\nLAB_00310438:\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_0031043f:\n                if (bVar5 == 0) goto LAB_003101c0;\n                bVar16 = *(byte *)((long)puVar10 + 0x3a) & 7;\n                if (bVar16 != 0) goto LAB_00310270;\n                goto LAB_00310166;\n              }\n              if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310878 to 0031087c has its CatchHandler @ 00310922 */\n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') goto LAB_00310438;\n              if (*(char *)((long)puVar10 + 0x3b) < '\0') {\n                if (bVar5 != 0) goto LAB_00310260;\nLAB_003105b8:\n                if (*(code **)(*(long *)puVar10[2] + 0x28) == FUN_001a4aa0) goto LAB_0031015a;\n                    /* try { // try from 003105cc to 003105cd has its CatchHandler @ 00310922 */\n                lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                if (lVar13 == 0) goto LAB_00310438;\n              }\nLAB_00310305:\n              plVar3 = *(long **)(PTR_DAT_0067cb08 + 0x18);\n              if (plVar3 == (long *)0x0) {\nLAB_00310805:\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310818 to 0031084c has its CatchHandler @ 00310922 */\n                FUN_00352af0("../../gold/parameters.h",0x69,"target");\n              }\n              if ((*(code **)(*plVar3 + 0x38) != FUN_001a49e0) &&\n                 (cVar4 = (**(code **)(*plVar3 + 0x38))(plVar3,puVar10), cVar4 != '\0'))\n              goto LAB_00310438;\n              lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar13 == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              pbVar18 = *(byte **)(lVar13 + 0x6c40);\n              bVar24 = false;\n              bVar26 = pbVar18 == (byte *)0x0;\n              if (bVar26) {\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_003103c9:\n                if ((bVar5 == 2) ||\n                   ((*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0'))))\n                goto LAB_003103e1;\n                goto LAB_0031043f;\n              }\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"ignore-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar24 = *pbVar19 < *pbVar20;\n                bVar26 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar26);\n              bVar25 = false;\n              bVar24 = (!bVar24 && !bVar26) == bVar24;\n              if (bVar24) goto LAB_00310438;\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"report-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar25 = *pbVar19 < *pbVar20;\n                bVar24 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar15 = 0x17;\n                pbVar19 = pbVar18;\n                pbVar20 = (byte *)"ignore-in-object-files";\n                do {\n                  if (lVar15 == 0) break;\n                  lVar15 = lVar15 + -1;\n                  bVar26 = *pbVar19 < *pbVar20;\n                  bVar24 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if ((!bVar24) || (bVar24 = (*(byte *)((long)puVar10 + 0x3b) & 1) == 0, !bVar24)) {\n                  bVar26 = false;\n                  lVar15 = 0x16;\n                  pbVar19 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    if (lVar15 == 0) break;\n                    lVar15 = lVar15 + -1;\n                    bVar26 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  if (((!bVar26 && !bVar24) != bVar26) || (*(char *)((long)puVar10 + 0x3a) < '\0'))\n                  goto LAB_003103c9;\n                }\n                goto LAB_0031043f;\n              }\nLAB_003103e1:\n              FUN_0034b9f0(puVar10,param_2,local_148,local_140);\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            else {\n              if (bVar5 == 4) goto LAB_0031020c;\nLAB_00310260:\n              bVar5 = *(byte *)((long)puVar10 + 0x39);\n              if ((bVar5 & 3) != 0) {\nLAB_0031026d:\n                bVar5 = bVar5 & 3;\n                bVar16 = bVar16 & 7;\nLAB_00310270:\n                if (((bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2)) &&\n                   (bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0)) goto LAB_00310293;\n              }\nLAB_003101c0:\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            if ((bVar16 & 4) != 0) {\n              FUN_00446c20(*param_2 + 0x1e0,puVar10,param_2,local_148,local_140);\n            }\n          }\n        }\n        local_138 = &local_d8;\n        FUN_001a5bc0(&local_b8);\n        FUN_001a5bc0(local_138);\n      }\n      local_148 = local_148 + 1;\n      local_120 = local_120 + 3;\n    } while (param_5 != local_148);\n  }" { (do_statement "do {\n      uVar21 = *local_120;\n      local_140 = (ulong)(uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18);\n      if ((param_7 == '\0') ||\n         (local_140 = FUN_003cff80(param_6,param_2[2],(int)param_2[6],local_140),\n         local_140 != 0xffffffffffffffff)) {\n        local_d0 = 0x80000000;\n        local_c8 = 0;\n        uVar21 = local_120[1];\n        local_d8 = 0xffffffff00000000;\n        uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n        if (uVar21 < local_ec) {\n          if ((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))\n          {\nLAB_0030fa33:\n            iVar7 = *(int *)((long)puVar10 + 0x1c);\n            uVar17 = iVar7 - 1;\n            if (0xfffffffd < uVar17) goto LAB_0030fa42;\nLAB_0030fcf0:\n            if (uVar17 == 0xfffffffd) {\n                    /* WARNING: Subroutine does not return */\n              FUN_00352af0("../../gold/object.h",0x70d,"set_output_symtab_index");\n            }\n            local_d8 = CONCAT44(local_d8._4_4_,iVar7);\n            goto LAB_0030fa4a;\n          }\n          if ((ulong)((plVar23[0x2d] - plVar23[0x2c] >> 3) * -0x5555555555555555) <= (ulong)uVar21)\n          {\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/object.h",0x8c1,"local_symbol");\n          }\n          puVar22 = (undefined8 *)(plVar23[0x2c] + (ulong)uVar21 * 0x18);\n          uVar1 = *(uint *)(puVar22 + 1);\n          uVar6 = uVar1 & 0x7ffffff;\n          uVar17 = uVar1 & 0x7ffffff;\n          if (((*(byte *)((long)puVar22 + 0xb) & 8) == 0) || (uVar6 == 0)) {\nLAB_0030fbb3:\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }\n          if ((ulong)(plVar23[0xb] - plVar23[10] >> 3) <= (ulong)uVar6) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310860 to 00310864 has its CatchHandler @ 0031092a */\n            FUN_00352af0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(long *)(plVar23[10] + (ulong)uVar6 * 8) != 0) goto LAB_0030fbb3;\n          cVar4 = FUN_00443530(*param_2,plVar23,uVar1 & 0x7ffffff);\n          puVar10 = (undefined8 *)0x0;\n          if (cVar4 != '\0') {\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }\nLAB_0030fd25:\n          local_b0 = 0x80000000;\n          local_b8 = 0xffffffff00000000;\n          local_a8 = 0;\n          if (*(code **)(*plVar23 + 0x80) == FUN_0022c990) {\n                    /* try { // try from 0030fd86 to 0030fd8a has its CatchHandler @ 00310922 */\n            FUN_0022c800(local_58,plVar23 + 0x1f);\n          }\n          else {\n                    /* try { // try from 00310038 to 00310039 has its CatchHandler @ 00310922 */\n            (**(code **)(*plVar23 + 0x80))(local_58,plVar23,(int)param_2[6]);\n          }\n          bVar24 = false;\n          bVar26 = iVar8 == 0;\n          if (bVar26) {\n            lVar13 = 6;\n            pbVar18 = local_58[0];\n            pbVar19 = &DAT_00533552;\n            do {\n              if (lVar13 == 0) break;\n              lVar13 = lVar13 + -1;\n              bVar24 = *pbVar18 < *pbVar19;\n              bVar26 = *pbVar18 == *pbVar19;\n              pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n              pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n            } while (bVar26);\n            bVar25 = false;\n            bVar24 = (!bVar24 && !bVar26) == bVar24;\n            if (!bVar24) {\n              lVar13 = 7;\n              pbVar18 = local_58[0];\n              pbVar19 = (byte *)".zdebug";\n              do {\n                if (lVar13 == 0) break;\n                lVar13 = lVar13 + -1;\n                bVar25 = *pbVar18 < *pbVar19;\n                bVar24 = *pbVar18 == *pbVar19;\n                pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar13 = 0x11;\n                pbVar18 = local_58[0];\n                pbVar19 = (byte *)".gnu.linkonce.wi.";\n                do {\n                  if (lVar13 == 0) break;\n                  lVar13 = lVar13 + -1;\n                  bVar26 = *pbVar18 < *pbVar19;\n                  bVar24 = *pbVar18 == *pbVar19;\n                  pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  lVar13 = 5;\n                  pbVar18 = local_58[0];\n                  pbVar19 = (byte *)".line";\n                  do {\n                    if (lVar13 == 0) break;\n                    lVar13 = lVar13 + -1;\n                    bVar25 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    lVar13 = 5;\n                    pbVar18 = local_58[0];\n                    pbVar19 = (byte *)".stab";\n                    do {\n                      if (lVar13 == 0) break;\n                      lVar13 = lVar13 + -1;\n                      bVar26 = *pbVar18 < *pbVar19;\n                      bVar24 = *pbVar18 == *pbVar19;\n                      pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                      pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      lVar13 = 4;\n                      pbVar18 = local_58[0];\n                      pbVar19 = &DAT_0053357f;\n                      do {\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0030fdc0:\n                    /* try { // try from 0030fdd2 to 0030fdd6 has its CatchHandler @ 00310912 */\n            iVar8 = FUN_00397c50(plVar23,uVar17,local_58,&local_78);\n            local_a8 = 0;\n            if (local_78 != '\0') {\n              local_a8 = iVar8 + *(int *)(puVar22 + 2);\n            }\n            iVar8 = 1;\n          }\n          else {\n            if (iVar8 == 1) goto LAB_0030fdc0;\n            if (iVar8 == 3) {\nLAB_0030ff50:\n              lVar13 = param_2[2];\n              if (puVar10 == (undefined8 *)0x0) {\n                    /* try { // try from 003105ee to 0031061d has its CatchHandler @ 00310912 */\n                uVar9 = FUN_0039dd50(lVar13,uVar21);\n                uVar11 = gettext(\n                                "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                );\n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9,uVar21);\n              }\n              else {\n                    /* try { // try from 0030ff70 to 0030ff74 has its CatchHandler @ 00310912 */\n                FUN_004443d0(&local_78,puVar10);\n                uVar9 = CONCAT71(uStack_77,local_78);\n                uVar11 = gettext(\n                                "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                );\n                    /* try { // try from 0030ffa4 to 0030ffa8 has its CatchHandler @ 0031093c */\n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9);\n                if ((undefined1 *)CONCAT71(uStack_77,local_78) != auStack_68) {\n                  FUN_0049e340();\n                }\n              }\n                    /* try { // try from 0030ffd1 to 0030ffd5 has its CatchHandler @ 00310912 */\n              iVar8 = FUN_0039d3c0(lVar13,uVar21,local_e0,&local_e1);\n              if (iVar8 != 0) {\n                    /* try { // try from 00310544 to 0031057d has its CatchHandler @ 00310912 */\n                lVar15 = FUN_00397ec0(lVar13,iVar8,&local_dc);\n                if (local_dc != 0) {\n                    /* try { // try from 00310725 to 00310745 has its CatchHandler @ 00310912 */\n                  uVar9 = FUN_0039dd50(lVar13);\n                  uVar11 = gettext("  section group signature: \"%s\"");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n                if (lVar15 != 0) {\n                  uVar9 = *(undefined8 *)(lVar15 + 8);\n                  uVar11 = gettext("  prevailing definition is from %s");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n              }\n              iVar8 = 3;\n            }\n            else {\nLAB_00310006:\n              iVar8 = 2;\n            }\n            local_a8 = 0;\n          }\n          if ((int)local_b8 != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310794 to 00310798 has its CatchHandler @ 00310912 */\n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\n          local_b8 = CONCAT44(local_b8._4_4_,0xffffffff);\n          if (local_58[0] != abStack_48) {\n            FUN_0049e340();\n          }\n          puVar22 = &local_b8;\n          if (-1 < (long)local_140) goto LAB_0030fae5;\nLAB_0030fe48:\n          uVar9 = gettext("reloc has bad offset %zu");\n                    /* try { // try from 0030fe68 to 0030fe6c has its CatchHandler @ 00310922 */\n          FUN_0034aed0(param_2,local_148,local_140,uVar9,local_140);\n        }\n        else {\n          if ((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))\n          goto LAB_0030fa33;\n          if (uVar21 < *(uint *)(plVar23 + 0x24)) {\nLAB_003107a0:\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003107b3 to 003107ff has its CatchHandler @ 0031092a */\n            FUN_00352af0("../../gold/target-reloc.h",0x17f,"relocate_section");\n          }\n          uVar14 = (ulong)(uVar21 - *(uint *)(plVar23 + 0x24));\n          if ((ulong)(plVar23[0x27] - plVar23[0x26] >> 3) <= uVar14) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/object.h",0x8ad,"global_symbol");\n          }\n          puVar10 = *(undefined8 **)(plVar23[0x26] + uVar14 * 8);\n          if (puVar10 == (undefined8 *)0x0) goto LAB_003107a0;\n          if ((*(byte *)((long)puVar10 + 0x3a) & 0x10) == 0) goto LAB_0030fa33;\n                    /* try { // try from 0030fc40 to 0030fcb4 has its CatchHandler @ 0031092a */\n          puVar10 = (undefined8 *)FUN_00443580(*param_2,puVar10);\n          iVar7 = *(int *)((long)puVar10 + 0x1c);\n          uVar17 = iVar7 - 1;\n          if (uVar17 < 0xfffffffe) {\n            if (((int)local_d8 != 0) && ((int)local_d8 != -2)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0031077c to 00310780 has its CatchHandler @ 0031092a */\n              FUN_00352af0("../../gold/object.h",0x70c,"set_output_symtab_index");\n            }\n            goto LAB_0030fcf0;\n          }\n          if ((int)local_d8 != 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\nLAB_0030fa42:\n          local_d8 = CONCAT44(local_d8._4_4_,0xffffffff);\nLAB_0030fa4a:\n          local_c8 = *(undefined4 *)(puVar10 + 8);\n          if ((*(byte *)(puVar10 + 7) & 0xf) == 6) {\n            local_d0 = local_d0 | 0x20000000;\n          }\n          else if ((*(byte *)(puVar10 + 7) & 0xf) == 10) {\n            local_d0 = local_d0 | 0x40000000;\n          }\n          if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') {\n            if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) {\nLAB_0030fd10:\n                puVar22 = &local_d8;\n                uVar17 = 0;\n                goto LAB_0030fd25;\n              }\n            }\n            else if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 4) goto LAB_0030fd10;\n          }\n          puVar22 = &local_d8;\nLAB_0030faa5:\n          local_b0 = 0x80000000;\n          local_b8 = 0xffffffff00000000;\n          local_a8 = 0;\n          if ((long)local_140 < 0) goto LAB_0030fe48;\nLAB_0030fae5:\n          if ((param_10 <= local_140) || (local_140 + param_8 == 0)) goto LAB_0030fe48;\n          uVar21 = local_120[1];\n          if (uVar21 >> 0x18 != 0) {\n            uVar9 = gettext("Invalid/unrecognized reloc reloc %d.");\n                    /* try { // try from 0030fb3d to 0030fb59 has its CatchHandler @ 00310922 */\n            FUN_0034a750(uVar9,uVar21 >> 0x18);\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/aarch64-reloc-property.h",0xeb,"code_to_array_index");\n          }\n          if (*DAT_0067dff8 == 0) {\n                    /* try { // try from 003104dd to 003104e1 has its CatchHandler @ 00310922 */\n            FUN_0031d8d0(local_58,DAT_0067dff8,0);\n            pbVar18 = local_58[0];\n            uVar9 = gettext("cannot relocate %s in object file");\n            uVar21 = *local_120;\n                    /* try { // try from 00310510 to 00310514 has its CatchHandler @ 0031091a */\n            FUN_0034aed0(param_2,local_148,\n                         uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18,uVar9,pbVar18);\n            if (local_58[0] != abStack_48) {\n              FUN_0049e340();\n            }\n          }\n          else {\n            plVar3 = (long *)param_2[2];\n            local_90 = 0x80000000;\n            local_98 = 0xffffffff00000000;\n            local_88 = 0;\n            if (puVar10 == (undefined8 *)0x0) {\n              if ((*(byte *)((long)puVar22 + 0xb) & 0x40) != 0) {\n                uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n                    /* try { // try from 00310475 to 003104bc has its CatchHandler @ 00310944 */\n                cVar4 = FUN_00397bb0(plVar3,uVar21);\n                if (cVar4 != '\0') {\n                  lVar13 = *(long *)(param_1 + 0x28);\n                  if (lVar13 == 0) {\n                    /* try { // try from 003108c5 to 003108c9 has its CatchHandler @ 00310944 */\n                    FUN_002ed4a0();\n                    goto LAB_003108ca;\n                  }\n                  if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108a8 to 003108ac has its CatchHandler @ 00310944 */\n                    FUN_00352af0("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar9 = *(undefined8 *)(lVar13 + 8);\n                  iVar7 = *(int *)(lVar13 + 0x68);\n                  local_88 = (**(code **)(*plVar3 + 0x150))(plVar3,uVar21);\n                  local_88 = (int)uVar9 + 0x20 + iVar7 * 0x10 + local_88;\n                }\n              }\n            }\n            else {\n                    /* try { // try from 003100df to 00310101 has its CatchHandler @ 00310944 */\n              cVar4 = FUN_00228fa0(puVar10,*(undefined4 *)(*DAT_0067dff8 + 0x4c));\n              if (cVar4 != '\0') {\n                if (*(long *)(param_1 + 0x28) == 0) {\n                    /* try { // try from 00310800 to 00310804 has its CatchHandler @ 00310944 */\n                  FUN_002ed4a0();\n                  goto LAB_00310805;\n                }\n                local_88 = FUN_002f9c90(*(long *)(param_1 + 0x28),puVar10);\n              }\n            }\n            FUN_001a5bc0(&local_98);\n          }\n          if (puVar10 != (undefined8 *)0x0) {\n            bVar16 = *(byte *)((long)puVar10 + 0x3a);\n            bVar5 = bVar16 & 7;\n            if ((bVar16 & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) != 0) || ((*(byte *)((long)puVar10 + 0x3b) & 0x20) == 0)) {\n                if (*(code **)(*(long *)puVar10[2] + 0x28) != FUN_001a4aa0) {\n                  lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                  if (lVar13 != 0) {\n                    bVar16 = *(byte *)((long)puVar10 + 0x3a);\n                    bVar5 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar5 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)puVar10 + 0x3b)) goto LAB_00310305;\n                    bVar5 = *(byte *)((long)puVar10 + 0x39);\n                    if ((bVar5 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }\nLAB_0031015a:\n                bVar16 = bVar16 & 7;\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                if ((*(byte *)((long)puVar10 + 0x39) & 3) == 0) goto LAB_003101c0;\nLAB_00310166:\n                if (((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)\n                    ) && ((*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0)))) {\nLAB_00310293:\n                  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_003108ca:\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108dd to 003108e1 has its CatchHandler @ 00310922 */\n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') {\n                    if (bVar16 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)(puVar10[2] + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }\n                if (bVar5 == 2) {\n                  uVar9 = gettext("hidden");\n                }\n                else if (bVar5 < 3) {\n                  if (bVar5 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar9 = gettext("internal");\n                }\n                else {\n                  uVar9 = gettext("protected");\n                }\n                uVar11 = *puVar10;\n                uVar12 = gettext("%s symbol \'%s\' is not defined locally");\n                    /* try { // try from 003101b4 to 0031042c has its CatchHandler @ 00310922 */\n                FUN_0034a750(uVar12,uVar9,uVar11);\n                goto LAB_003101c0;\n              }\nLAB_0031020c:\n              if ((*(byte *)(puVar10 + 7) >> 4 == 2) || ((*(byte *)((long)puVar10 + 0x3c) & 2) != 0)\n                 ) {\nLAB_00310438:\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_0031043f:\n                if (bVar5 == 0) goto LAB_003101c0;\n                bVar16 = *(byte *)((long)puVar10 + 0x3a) & 7;\n                if (bVar16 != 0) goto LAB_00310270;\n                goto LAB_00310166;\n              }\n              if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310878 to 0031087c has its CatchHandler @ 00310922 */\n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') goto LAB_00310438;\n              if (*(char *)((long)puVar10 + 0x3b) < '\0') {\n                if (bVar5 != 0) goto LAB_00310260;\nLAB_003105b8:\n                if (*(code **)(*(long *)puVar10[2] + 0x28) == FUN_001a4aa0) goto LAB_0031015a;\n                    /* try { // try from 003105cc to 003105cd has its CatchHandler @ 00310922 */\n                lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                if (lVar13 == 0) goto LAB_00310438;\n              }\nLAB_00310305:\n              plVar3 = *(long **)(PTR_DAT_0067cb08 + 0x18);\n              if (plVar3 == (long *)0x0) {\nLAB_00310805:\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310818 to 0031084c has its CatchHandler @ 00310922 */\n                FUN_00352af0("../../gold/parameters.h",0x69,"target");\n              }\n              if ((*(code **)(*plVar3 + 0x38) != FUN_001a49e0) &&\n                 (cVar4 = (**(code **)(*plVar3 + 0x38))(plVar3,puVar10), cVar4 != '\0'))\n              goto LAB_00310438;\n              lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar13 == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              pbVar18 = *(byte **)(lVar13 + 0x6c40);\n              bVar24 = false;\n              bVar26 = pbVar18 == (byte *)0x0;\n              if (bVar26) {\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_003103c9:\n                if ((bVar5 == 2) ||\n                   ((*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0'))))\n                goto LAB_003103e1;\n                goto LAB_0031043f;\n              }\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"ignore-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar24 = *pbVar19 < *pbVar20;\n                bVar26 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar26);\n              bVar25 = false;\n              bVar24 = (!bVar24 && !bVar26) == bVar24;\n              if (bVar24) goto LAB_00310438;\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"report-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar25 = *pbVar19 < *pbVar20;\n                bVar24 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar15 = 0x17;\n                pbVar19 = pbVar18;\n                pbVar20 = (byte *)"ignore-in-object-files";\n                do {\n                  if (lVar15 == 0) break;\n                  lVar15 = lVar15 + -1;\n                  bVar26 = *pbVar19 < *pbVar20;\n                  bVar24 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if ((!bVar24) || (bVar24 = (*(byte *)((long)puVar10 + 0x3b) & 1) == 0, !bVar24)) {\n                  bVar26 = false;\n                  lVar15 = 0x16;\n                  pbVar19 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    if (lVar15 == 0) break;\n                    lVar15 = lVar15 + -1;\n                    bVar26 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  if (((!bVar26 && !bVar24) != bVar26) || (*(char *)((long)puVar10 + 0x3a) < '\0'))\n                  goto LAB_003103c9;\n                }\n                goto LAB_0031043f;\n              }\nLAB_003103e1:\n              FUN_0034b9f0(puVar10,param_2,local_148,local_140);\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            else {\n              if (bVar5 == 4) goto LAB_0031020c;\nLAB_00310260:\n              bVar5 = *(byte *)((long)puVar10 + 0x39);\n              if ((bVar5 & 3) != 0) {\nLAB_0031026d:\n                bVar5 = bVar5 & 3;\n                bVar16 = bVar16 & 7;\nLAB_00310270:\n                if (((bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2)) &&\n                   (bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0)) goto LAB_00310293;\n              }\nLAB_003101c0:\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            if ((bVar16 & 4) != 0) {\n              FUN_00446c20(*param_2 + 0x1e0,puVar10,param_2,local_148,local_140);\n            }\n          }\n        }\n        local_138 = &local_d8;\n        FUN_001a5bc0(&local_b8);\n        FUN_001a5bc0(local_138);\n      }\n      local_148 = local_148 + 1;\n      local_120 = local_120 + 3;\n    } while (param_5 != local_148);" do (compound_statement "{\n      uVar21 = *local_120;\n      local_140 = (ulong)(uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18);\n      if ((param_7 == '\0') ||\n         (local_140 = FUN_003cff80(param_6,param_2[2],(int)param_2[6],local_140),\n         local_140 != 0xffffffffffffffff)) {\n        local_d0 = 0x80000000;\n        local_c8 = 0;\n        uVar21 = local_120[1];\n        local_d8 = 0xffffffff00000000;\n        uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n        if (uVar21 < local_ec) {\n          if ((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))\n          {\nLAB_0030fa33:\n            iVar7 = *(int *)((long)puVar10 + 0x1c);\n            uVar17 = iVar7 - 1;\n            if (0xfffffffd < uVar17) goto LAB_0030fa42;\nLAB_0030fcf0:\n            if (uVar17 == 0xfffffffd) {\n                    /* WARNING: Subroutine does not return */\n              FUN_00352af0("../../gold/object.h",0x70d,"set_output_symtab_index");\n            }\n            local_d8 = CONCAT44(local_d8._4_4_,iVar7);\n            goto LAB_0030fa4a;\n          }\n          if ((ulong)((plVar23[0x2d] - plVar23[0x2c] >> 3) * -0x5555555555555555) <= (ulong)uVar21)\n          {\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/object.h",0x8c1,"local_symbol");\n          }\n          puVar22 = (undefined8 *)(plVar23[0x2c] + (ulong)uVar21 * 0x18);\n          uVar1 = *(uint *)(puVar22 + 1);\n          uVar6 = uVar1 & 0x7ffffff;\n          uVar17 = uVar1 & 0x7ffffff;\n          if (((*(byte *)((long)puVar22 + 0xb) & 8) == 0) || (uVar6 == 0)) {\nLAB_0030fbb3:\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }\n          if ((ulong)(plVar23[0xb] - plVar23[10] >> 3) <= (ulong)uVar6) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310860 to 00310864 has its CatchHandler @ 0031092a */\n            FUN_00352af0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(long *)(plVar23[10] + (ulong)uVar6 * 8) != 0) goto LAB_0030fbb3;\n          cVar4 = FUN_00443530(*param_2,plVar23,uVar1 & 0x7ffffff);\n          puVar10 = (undefined8 *)0x0;\n          if (cVar4 != '\0') {\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }\nLAB_0030fd25:\n          local_b0 = 0x80000000;\n          local_b8 = 0xffffffff00000000;\n          local_a8 = 0;\n          if (*(code **)(*plVar23 + 0x80) == FUN_0022c990) {\n                    /* try { // try from 0030fd86 to 0030fd8a has its CatchHandler @ 00310922 */\n            FUN_0022c800(local_58,plVar23 + 0x1f);\n          }\n          else {\n                    /* try { // try from 00310038 to 00310039 has its CatchHandler @ 00310922 */\n            (**(code **)(*plVar23 + 0x80))(local_58,plVar23,(int)param_2[6]);\n          }\n          bVar24 = false;\n          bVar26 = iVar8 == 0;\n          if (bVar26) {\n            lVar13 = 6;\n            pbVar18 = local_58[0];\n            pbVar19 = &DAT_00533552;\n            do {\n              if (lVar13 == 0) break;\n              lVar13 = lVar13 + -1;\n              bVar24 = *pbVar18 < *pbVar19;\n              bVar26 = *pbVar18 == *pbVar19;\n              pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n              pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n            } while (bVar26);\n            bVar25 = false;\n            bVar24 = (!bVar24 && !bVar26) == bVar24;\n            if (!bVar24) {\n              lVar13 = 7;\n              pbVar18 = local_58[0];\n              pbVar19 = (byte *)".zdebug";\n              do {\n                if (lVar13 == 0) break;\n                lVar13 = lVar13 + -1;\n                bVar25 = *pbVar18 < *pbVar19;\n                bVar24 = *pbVar18 == *pbVar19;\n                pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar13 = 0x11;\n                pbVar18 = local_58[0];\n                pbVar19 = (byte *)".gnu.linkonce.wi.";\n                do {\n                  if (lVar13 == 0) break;\n                  lVar13 = lVar13 + -1;\n                  bVar26 = *pbVar18 < *pbVar19;\n                  bVar24 = *pbVar18 == *pbVar19;\n                  pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  lVar13 = 5;\n                  pbVar18 = local_58[0];\n                  pbVar19 = (byte *)".line";\n                  do {\n                    if (lVar13 == 0) break;\n                    lVar13 = lVar13 + -1;\n                    bVar25 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    lVar13 = 5;\n                    pbVar18 = local_58[0];\n                    pbVar19 = (byte *)".stab";\n                    do {\n                      if (lVar13 == 0) break;\n                      lVar13 = lVar13 + -1;\n                      bVar26 = *pbVar18 < *pbVar19;\n                      bVar24 = *pbVar18 == *pbVar19;\n                      pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                      pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      lVar13 = 4;\n                      pbVar18 = local_58[0];\n                      pbVar19 = &DAT_0053357f;\n                      do {\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0030fdc0:\n                    /* try { // try from 0030fdd2 to 0030fdd6 has its CatchHandler @ 00310912 */\n            iVar8 = FUN_00397c50(plVar23,uVar17,local_58,&local_78);\n            local_a8 = 0;\n            if (local_78 != '\0') {\n              local_a8 = iVar8 + *(int *)(puVar22 + 2);\n            }\n            iVar8 = 1;\n          }\n          else {\n            if (iVar8 == 1) goto LAB_0030fdc0;\n            if (iVar8 == 3) {\nLAB_0030ff50:\n              lVar13 = param_2[2];\n              if (puVar10 == (undefined8 *)0x0) {\n                    /* try { // try from 003105ee to 0031061d has its CatchHandler @ 00310912 */\n                uVar9 = FUN_0039dd50(lVar13,uVar21);\n                uVar11 = gettext(\n                                "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                );\n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9,uVar21);\n              }\n              else {\n                    /* try { // try from 0030ff70 to 0030ff74 has its CatchHandler @ 00310912 */\n                FUN_004443d0(&local_78,puVar10);\n                uVar9 = CONCAT71(uStack_77,local_78);\n                uVar11 = gettext(\n                                "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                );\n                    /* try { // try from 0030ffa4 to 0030ffa8 has its CatchHandler @ 0031093c */\n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9);\n                if ((undefined1 *)CONCAT71(uStack_77,local_78) != auStack_68) {\n                  FUN_0049e340();\n                }\n              }\n                    /* try { // try from 0030ffd1 to 0030ffd5 has its CatchHandler @ 00310912 */\n              iVar8 = FUN_0039d3c0(lVar13,uVar21,local_e0,&local_e1);\n              if (iVar8 != 0) {\n                    /* try { // try from 00310544 to 0031057d has its CatchHandler @ 00310912 */\n                lVar15 = FUN_00397ec0(lVar13,iVar8,&local_dc);\n                if (local_dc != 0) {\n                    /* try { // try from 00310725 to 00310745 has its CatchHandler @ 00310912 */\n                  uVar9 = FUN_0039dd50(lVar13);\n                  uVar11 = gettext("  section group signature: \"%s\"");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n                if (lVar15 != 0) {\n                  uVar9 = *(undefined8 *)(lVar15 + 8);\n                  uVar11 = gettext("  prevailing definition is from %s");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n              }\n              iVar8 = 3;\n            }\n            else {\nLAB_00310006:\n              iVar8 = 2;\n            }\n            local_a8 = 0;\n          }\n          if ((int)local_b8 != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310794 to 00310798 has its CatchHandler @ 00310912 */\n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\n          local_b8 = CONCAT44(local_b8._4_4_,0xffffffff);\n          if (local_58[0] != abStack_48) {\n            FUN_0049e340();\n          }\n          puVar22 = &local_b8;\n          if (-1 < (long)local_140) goto LAB_0030fae5;\nLAB_0030fe48:\n          uVar9 = gettext("reloc has bad offset %zu");\n                    /* try { // try from 0030fe68 to 0030fe6c has its CatchHandler @ 00310922 */\n          FUN_0034aed0(param_2,local_148,local_140,uVar9,local_140);\n        }\n        else {\n          if ((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))\n          goto LAB_0030fa33;\n          if (uVar21 < *(uint *)(plVar23 + 0x24)) {\nLAB_003107a0:\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003107b3 to 003107ff has its CatchHandler @ 0031092a */\n            FUN_00352af0("../../gold/target-reloc.h",0x17f,"relocate_section");\n          }\n          uVar14 = (ulong)(uVar21 - *(uint *)(plVar23 + 0x24));\n          if ((ulong)(plVar23[0x27] - plVar23[0x26] >> 3) <= uVar14) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/object.h",0x8ad,"global_symbol");\n          }\n          puVar10 = *(undefined8 **)(plVar23[0x26] + uVar14 * 8);\n          if (puVar10 == (undefined8 *)0x0) goto LAB_003107a0;\n          if ((*(byte *)((long)puVar10 + 0x3a) & 0x10) == 0) goto LAB_0030fa33;\n                    /* try { // try from 0030fc40 to 0030fcb4 has its CatchHandler @ 0031092a */\n          puVar10 = (undefined8 *)FUN_00443580(*param_2,puVar10);\n          iVar7 = *(int *)((long)puVar10 + 0x1c);\n          uVar17 = iVar7 - 1;\n          if (uVar17 < 0xfffffffe) {\n            if (((int)local_d8 != 0) && ((int)local_d8 != -2)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0031077c to 00310780 has its CatchHandler @ 0031092a */\n              FUN_00352af0("../../gold/object.h",0x70c,"set_output_symtab_index");\n            }\n            goto LAB_0030fcf0;\n          }\n          if ((int)local_d8 != 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\nLAB_0030fa42:\n          local_d8 = CONCAT44(local_d8._4_4_,0xffffffff);\nLAB_0030fa4a:\n          local_c8 = *(undefined4 *)(puVar10 + 8);\n          if ((*(byte *)(puVar10 + 7) & 0xf) == 6) {\n            local_d0 = local_d0 | 0x20000000;\n          }\n          else if ((*(byte *)(puVar10 + 7) & 0xf) == 10) {\n            local_d0 = local_d0 | 0x40000000;\n          }\n          if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') {\n            if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) {\nLAB_0030fd10:\n                puVar22 = &local_d8;\n                uVar17 = 0;\n                goto LAB_0030fd25;\n              }\n            }\n            else if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 4) goto LAB_0030fd10;\n          }\n          puVar22 = &local_d8;\nLAB_0030faa5:\n          local_b0 = 0x80000000;\n          local_b8 = 0xffffffff00000000;\n          local_a8 = 0;\n          if ((long)local_140 < 0) goto LAB_0030fe48;\nLAB_0030fae5:\n          if ((param_10 <= local_140) || (local_140 + param_8 == 0)) goto LAB_0030fe48;\n          uVar21 = local_120[1];\n          if (uVar21 >> 0x18 != 0) {\n            uVar9 = gettext("Invalid/unrecognized reloc reloc %d.");\n                    /* try { // try from 0030fb3d to 0030fb59 has its CatchHandler @ 00310922 */\n            FUN_0034a750(uVar9,uVar21 >> 0x18);\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/aarch64-reloc-property.h",0xeb,"code_to_array_index");\n          }\n          if (*DAT_0067dff8 == 0) {\n                    /* try { // try from 003104dd to 003104e1 has its CatchHandler @ 00310922 */\n            FUN_0031d8d0(local_58,DAT_0067dff8,0);\n            pbVar18 = local_58[0];\n            uVar9 = gettext("cannot relocate %s in object file");\n            uVar21 = *local_120;\n                    /* try { // try from 00310510 to 00310514 has its CatchHandler @ 0031091a */\n            FUN_0034aed0(param_2,local_148,\n                         uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18,uVar9,pbVar18);\n            if (local_58[0] != abStack_48) {\n              FUN_0049e340();\n            }\n          }\n          else {\n            plVar3 = (long *)param_2[2];\n            local_90 = 0x80000000;\n            local_98 = 0xffffffff00000000;\n            local_88 = 0;\n            if (puVar10 == (undefined8 *)0x0) {\n              if ((*(byte *)((long)puVar22 + 0xb) & 0x40) != 0) {\n                uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n                    /* try { // try from 00310475 to 003104bc has its CatchHandler @ 00310944 */\n                cVar4 = FUN_00397bb0(plVar3,uVar21);\n                if (cVar4 != '\0') {\n                  lVar13 = *(long *)(param_1 + 0x28);\n                  if (lVar13 == 0) {\n                    /* try { // try from 003108c5 to 003108c9 has its CatchHandler @ 00310944 */\n                    FUN_002ed4a0();\n                    goto LAB_003108ca;\n                  }\n                  if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108a8 to 003108ac has its CatchHandler @ 00310944 */\n                    FUN_00352af0("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar9 = *(undefined8 *)(lVar13 + 8);\n                  iVar7 = *(int *)(lVar13 + 0x68);\n                  local_88 = (**(code **)(*plVar3 + 0x150))(plVar3,uVar21);\n                  local_88 = (int)uVar9 + 0x20 + iVar7 * 0x10 + local_88;\n                }\n              }\n            }\n            else {\n                    /* try { // try from 003100df to 00310101 has its CatchHandler @ 00310944 */\n              cVar4 = FUN_00228fa0(puVar10,*(undefined4 *)(*DAT_0067dff8 + 0x4c));\n              if (cVar4 != '\0') {\n                if (*(long *)(param_1 + 0x28) == 0) {\n                    /* try { // try from 00310800 to 00310804 has its CatchHandler @ 00310944 */\n                  FUN_002ed4a0();\n                  goto LAB_00310805;\n                }\n                local_88 = FUN_002f9c90(*(long *)(param_1 + 0x28),puVar10);\n              }\n            }\n            FUN_001a5bc0(&local_98);\n          }\n          if (puVar10 != (undefined8 *)0x0) {\n            bVar16 = *(byte *)((long)puVar10 + 0x3a);\n            bVar5 = bVar16 & 7;\n            if ((bVar16 & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) != 0) || ((*(byte *)((long)puVar10 + 0x3b) & 0x20) == 0)) {\n                if (*(code **)(*(long *)puVar10[2] + 0x28) != FUN_001a4aa0) {\n                  lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                  if (lVar13 != 0) {\n                    bVar16 = *(byte *)((long)puVar10 + 0x3a);\n                    bVar5 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar5 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)puVar10 + 0x3b)) goto LAB_00310305;\n                    bVar5 = *(byte *)((long)puVar10 + 0x39);\n                    if ((bVar5 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }\nLAB_0031015a:\n                bVar16 = bVar16 & 7;\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                if ((*(byte *)((long)puVar10 + 0x39) & 3) == 0) goto LAB_003101c0;\nLAB_00310166:\n                if (((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)\n                    ) && ((*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0)))) {\nLAB_00310293:\n                  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_003108ca:\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108dd to 003108e1 has its CatchHandler @ 00310922 */\n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') {\n                    if (bVar16 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)(puVar10[2] + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }\n                if (bVar5 == 2) {\n                  uVar9 = gettext("hidden");\n                }\n                else if (bVar5 < 3) {\n                  if (bVar5 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar9 = gettext("internal");\n                }\n                else {\n                  uVar9 = gettext("protected");\n                }\n                uVar11 = *puVar10;\n                uVar12 = gettext("%s symbol \'%s\' is not defined locally");\n                    /* try { // try from 003101b4 to 0031042c has its CatchHandler @ 00310922 */\n                FUN_0034a750(uVar12,uVar9,uVar11);\n                goto LAB_003101c0;\n              }\nLAB_0031020c:\n              if ((*(byte *)(puVar10 + 7) >> 4 == 2) || ((*(byte *)((long)puVar10 + 0x3c) & 2) != 0)\n                 ) {\nLAB_00310438:\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_0031043f:\n                if (bVar5 == 0) goto LAB_003101c0;\n                bVar16 = *(byte *)((long)puVar10 + 0x3a) & 7;\n                if (bVar16 != 0) goto LAB_00310270;\n                goto LAB_00310166;\n              }\n              if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310878 to 0031087c has its CatchHandler @ 00310922 */\n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') goto LAB_00310438;\n              if (*(char *)((long)puVar10 + 0x3b) < '\0') {\n                if (bVar5 != 0) goto LAB_00310260;\nLAB_003105b8:\n                if (*(code **)(*(long *)puVar10[2] + 0x28) == FUN_001a4aa0) goto LAB_0031015a;\n                    /* try { // try from 003105cc to 003105cd has its CatchHandler @ 00310922 */\n                lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                if (lVar13 == 0) goto LAB_00310438;\n              }\nLAB_00310305:\n              plVar3 = *(long **)(PTR_DAT_0067cb08 + 0x18);\n              if (plVar3 == (long *)0x0) {\nLAB_00310805:\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310818 to 0031084c has its CatchHandler @ 00310922 */\n                FUN_00352af0("../../gold/parameters.h",0x69,"target");\n              }\n              if ((*(code **)(*plVar3 + 0x38) != FUN_001a49e0) &&\n                 (cVar4 = (**(code **)(*plVar3 + 0x38))(plVar3,puVar10), cVar4 != '\0'))\n              goto LAB_00310438;\n              lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar13 == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              pbVar18 = *(byte **)(lVar13 + 0x6c40);\n              bVar24 = false;\n              bVar26 = pbVar18 == (byte *)0x0;\n              if (bVar26) {\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_003103c9:\n                if ((bVar5 == 2) ||\n                   ((*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0'))))\n                goto LAB_003103e1;\n                goto LAB_0031043f;\n              }\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"ignore-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar24 = *pbVar19 < *pbVar20;\n                bVar26 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar26);\n              bVar25 = false;\n              bVar24 = (!bVar24 && !bVar26) == bVar24;\n              if (bVar24) goto LAB_00310438;\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"report-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar25 = *pbVar19 < *pbVar20;\n                bVar24 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar15 = 0x17;\n                pbVar19 = pbVar18;\n                pbVar20 = (byte *)"ignore-in-object-files";\n                do {\n                  if (lVar15 == 0) break;\n                  lVar15 = lVar15 + -1;\n                  bVar26 = *pbVar19 < *pbVar20;\n                  bVar24 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if ((!bVar24) || (bVar24 = (*(byte *)((long)puVar10 + 0x3b) & 1) == 0, !bVar24)) {\n                  bVar26 = false;\n                  lVar15 = 0x16;\n                  pbVar19 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    if (lVar15 == 0) break;\n                    lVar15 = lVar15 + -1;\n                    bVar26 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  if (((!bVar26 && !bVar24) != bVar26) || (*(char *)((long)puVar10 + 0x3a) < '\0'))\n                  goto LAB_003103c9;\n                }\n                goto LAB_0031043f;\n              }\nLAB_003103e1:\n              FUN_0034b9f0(puVar10,param_2,local_148,local_140);\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            else {\n              if (bVar5 == 4) goto LAB_0031020c;\nLAB_00310260:\n              bVar5 = *(byte *)((long)puVar10 + 0x39);\n              if ((bVar5 & 3) != 0) {\nLAB_0031026d:\n                bVar5 = bVar5 & 3;\n                bVar16 = bVar16 & 7;\nLAB_00310270:\n                if (((bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2)) &&\n                   (bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0)) goto LAB_00310293;\n              }\nLAB_003101c0:\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            if ((bVar16 & 4) != 0) {\n              FUN_00446c20(*param_2 + 0x1e0,puVar10,param_2,local_148,local_140);\n            }\n          }\n        }\n        local_138 = &local_d8;\n        FUN_001a5bc0(&local_b8);\n        FUN_001a5bc0(local_138);\n      }\n      local_148 = local_148 + 1;\n      local_120 = local_120 + 3;\n    }" { (expression_statement "uVar21 = *local_120;" (assignment_expression "uVar21 = *local_120" identifier = (pointer_expression "*local_120" * identifier)) ;) (expression_statement "local_140 = (ulong)(uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18);" (assignment_expression "local_140 = (ulong)(uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18)" identifier = (call_expression "(ulong)(uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18)" ( (binary_expression "uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18" (binary_expression "uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8" (binary_expression "uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8" (binary_expression "uVar21 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar21 & 0xff0000) >> 8" (parenthesized_expression "(uVar21 & 0xff0000)" ( (binary_expression "uVar21 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar21 & 0xff00) << 8" (parenthesized_expression "(uVar21 & 0xff00)" ( (binary_expression "uVar21 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar21 << 0x18" identifier << number_literal)) )))) ;) (if_statement "if ((param_7 == '\0') ||\n         (local_140 = FUN_003cff80(param_6,param_2[2],(int)param_2[6],local_140),\n         local_140 != 0xffffffffffffffff)) {\n        local_d0 = 0x80000000;\n        local_c8 = 0;\n        uVar21 = local_120[1];\n        local_d8 = 0xffffffff00000000;\n        uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n        if (uVar21 < local_ec) {\n          if ((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))\n          {\nLAB_0030fa33:\n            iVar7 = *(int *)((long)puVar10 + 0x1c);\n            uVar17 = iVar7 - 1;\n            if (0xfffffffd < uVar17) goto LAB_0030fa42;\nLAB_0030fcf0:\n            if (uVar17 == 0xfffffffd) {\n                    /* WARNING: Subroutine does not return */\n              FUN_00352af0("../../gold/object.h",0x70d,"set_output_symtab_index");\n            }\n            local_d8 = CONCAT44(local_d8._4_4_,iVar7);\n            goto LAB_0030fa4a;\n          }\n          if ((ulong)((plVar23[0x2d] - plVar23[0x2c] >> 3) * -0x5555555555555555) <= (ulong)uVar21)\n          {\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/object.h",0x8c1,"local_symbol");\n          }\n          puVar22 = (undefined8 *)(plVar23[0x2c] + (ulong)uVar21 * 0x18);\n          uVar1 = *(uint *)(puVar22 + 1);\n          uVar6 = uVar1 & 0x7ffffff;\n          uVar17 = uVar1 & 0x7ffffff;\n          if (((*(byte *)((long)puVar22 + 0xb) & 8) == 0) || (uVar6 == 0)) {\nLAB_0030fbb3:\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }\n          if ((ulong)(plVar23[0xb] - plVar23[10] >> 3) <= (ulong)uVar6) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310860 to 00310864 has its CatchHandler @ 0031092a */\n            FUN_00352af0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(long *)(plVar23[10] + (ulong)uVar6 * 8) != 0) goto LAB_0030fbb3;\n          cVar4 = FUN_00443530(*param_2,plVar23,uVar1 & 0x7ffffff);\n          puVar10 = (undefined8 *)0x0;\n          if (cVar4 != '\0') {\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }\nLAB_0030fd25:\n          local_b0 = 0x80000000;\n          local_b8 = 0xffffffff00000000;\n          local_a8 = 0;\n          if (*(code **)(*plVar23 + 0x80) == FUN_0022c990) {\n                    /* try { // try from 0030fd86 to 0030fd8a has its CatchHandler @ 00310922 */\n            FUN_0022c800(local_58,plVar23 + 0x1f);\n          }\n          else {\n                    /* try { // try from 00310038 to 00310039 has its CatchHandler @ 00310922 */\n            (**(code **)(*plVar23 + 0x80))(local_58,plVar23,(int)param_2[6]);\n          }\n          bVar24 = false;\n          bVar26 = iVar8 == 0;\n          if (bVar26) {\n            lVar13 = 6;\n            pbVar18 = local_58[0];\n            pbVar19 = &DAT_00533552;\n            do {\n              if (lVar13 == 0) break;\n              lVar13 = lVar13 + -1;\n              bVar24 = *pbVar18 < *pbVar19;\n              bVar26 = *pbVar18 == *pbVar19;\n              pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n              pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n            } while (bVar26);\n            bVar25 = false;\n            bVar24 = (!bVar24 && !bVar26) == bVar24;\n            if (!bVar24) {\n              lVar13 = 7;\n              pbVar18 = local_58[0];\n              pbVar19 = (byte *)".zdebug";\n              do {\n                if (lVar13 == 0) break;\n                lVar13 = lVar13 + -1;\n                bVar25 = *pbVar18 < *pbVar19;\n                bVar24 = *pbVar18 == *pbVar19;\n                pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar13 = 0x11;\n                pbVar18 = local_58[0];\n                pbVar19 = (byte *)".gnu.linkonce.wi.";\n                do {\n                  if (lVar13 == 0) break;\n                  lVar13 = lVar13 + -1;\n                  bVar26 = *pbVar18 < *pbVar19;\n                  bVar24 = *pbVar18 == *pbVar19;\n                  pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  lVar13 = 5;\n                  pbVar18 = local_58[0];\n                  pbVar19 = (byte *)".line";\n                  do {\n                    if (lVar13 == 0) break;\n                    lVar13 = lVar13 + -1;\n                    bVar25 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    lVar13 = 5;\n                    pbVar18 = local_58[0];\n                    pbVar19 = (byte *)".stab";\n                    do {\n                      if (lVar13 == 0) break;\n                      lVar13 = lVar13 + -1;\n                      bVar26 = *pbVar18 < *pbVar19;\n                      bVar24 = *pbVar18 == *pbVar19;\n                      pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                      pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      lVar13 = 4;\n                      pbVar18 = local_58[0];\n                      pbVar19 = &DAT_0053357f;\n                      do {\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0030fdc0:\n                    /* try { // try from 0030fdd2 to 0030fdd6 has its CatchHandler @ 00310912 */\n            iVar8 = FUN_00397c50(plVar23,uVar17,local_58,&local_78);\n            local_a8 = 0;\n            if (local_78 != '\0') {\n              local_a8 = iVar8 + *(int *)(puVar22 + 2);\n            }\n            iVar8 = 1;\n          }\n          else {\n            if (iVar8 == 1) goto LAB_0030fdc0;\n            if (iVar8 == 3) {\nLAB_0030ff50:\n              lVar13 = param_2[2];\n              if (puVar10 == (undefined8 *)0x0) {\n                    /* try { // try from 003105ee to 0031061d has its CatchHandler @ 00310912 */\n                uVar9 = FUN_0039dd50(lVar13,uVar21);\n                uVar11 = gettext(\n                                "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                );\n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9,uVar21);\n              }\n              else {\n                    /* try { // try from 0030ff70 to 0030ff74 has its CatchHandler @ 00310912 */\n                FUN_004443d0(&local_78,puVar10);\n                uVar9 = CONCAT71(uStack_77,local_78);\n                uVar11 = gettext(\n                                "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                );\n                    /* try { // try from 0030ffa4 to 0030ffa8 has its CatchHandler @ 0031093c */\n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9);\n                if ((undefined1 *)CONCAT71(uStack_77,local_78) != auStack_68) {\n                  FUN_0049e340();\n                }\n              }\n                    /* try { // try from 0030ffd1 to 0030ffd5 has its CatchHandler @ 00310912 */\n              iVar8 = FUN_0039d3c0(lVar13,uVar21,local_e0,&local_e1);\n              if (iVar8 != 0) {\n                    /* try { // try from 00310544 to 0031057d has its CatchHandler @ 00310912 */\n                lVar15 = FUN_00397ec0(lVar13,iVar8,&local_dc);\n                if (local_dc != 0) {\n                    /* try { // try from 00310725 to 00310745 has its CatchHandler @ 00310912 */\n                  uVar9 = FUN_0039dd50(lVar13);\n                  uVar11 = gettext("  section group signature: \"%s\"");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n                if (lVar15 != 0) {\n                  uVar9 = *(undefined8 *)(lVar15 + 8);\n                  uVar11 = gettext("  prevailing definition is from %s");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n              }\n              iVar8 = 3;\n            }\n            else {\nLAB_00310006:\n              iVar8 = 2;\n            }\n            local_a8 = 0;\n          }\n          if ((int)local_b8 != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310794 to 00310798 has its CatchHandler @ 00310912 */\n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\n          local_b8 = CONCAT44(local_b8._4_4_,0xffffffff);\n          if (local_58[0] != abStack_48) {\n            FUN_0049e340();\n          }\n          puVar22 = &local_b8;\n          if (-1 < (long)local_140) goto LAB_0030fae5;\nLAB_0030fe48:\n          uVar9 = gettext("reloc has bad offset %zu");\n                    /* try { // try from 0030fe68 to 0030fe6c has its CatchHandler @ 00310922 */\n          FUN_0034aed0(param_2,local_148,local_140,uVar9,local_140);\n        }\n        else {\n          if ((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))\n          goto LAB_0030fa33;\n          if (uVar21 < *(uint *)(plVar23 + 0x24)) {\nLAB_003107a0:\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003107b3 to 003107ff has its CatchHandler @ 0031092a */\n            FUN_00352af0("../../gold/target-reloc.h",0x17f,"relocate_section");\n          }\n          uVar14 = (ulong)(uVar21 - *(uint *)(plVar23 + 0x24));\n          if ((ulong)(plVar23[0x27] - plVar23[0x26] >> 3) <= uVar14) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/object.h",0x8ad,"global_symbol");\n          }\n          puVar10 = *(undefined8 **)(plVar23[0x26] + uVar14 * 8);\n          if (puVar10 == (undefined8 *)0x0) goto LAB_003107a0;\n          if ((*(byte *)((long)puVar10 + 0x3a) & 0x10) == 0) goto LAB_0030fa33;\n                    /* try { // try from 0030fc40 to 0030fcb4 has its CatchHandler @ 0031092a */\n          puVar10 = (undefined8 *)FUN_00443580(*param_2,puVar10);\n          iVar7 = *(int *)((long)puVar10 + 0x1c);\n          uVar17 = iVar7 - 1;\n          if (uVar17 < 0xfffffffe) {\n            if (((int)local_d8 != 0) && ((int)local_d8 != -2)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0031077c to 00310780 has its CatchHandler @ 0031092a */\n              FUN_00352af0("../../gold/object.h",0x70c,"set_output_symtab_index");\n            }\n            goto LAB_0030fcf0;\n          }\n          if ((int)local_d8 != 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\nLAB_0030fa42:\n          local_d8 = CONCAT44(local_d8._4_4_,0xffffffff);\nLAB_0030fa4a:\n          local_c8 = *(undefined4 *)(puVar10 + 8);\n          if ((*(byte *)(puVar10 + 7) & 0xf) == 6) {\n            local_d0 = local_d0 | 0x20000000;\n          }\n          else if ((*(byte *)(puVar10 + 7) & 0xf) == 10) {\n            local_d0 = local_d0 | 0x40000000;\n          }\n          if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') {\n            if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) {\nLAB_0030fd10:\n                puVar22 = &local_d8;\n                uVar17 = 0;\n                goto LAB_0030fd25;\n              }\n            }\n            else if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 4) goto LAB_0030fd10;\n          }\n          puVar22 = &local_d8;\nLAB_0030faa5:\n          local_b0 = 0x80000000;\n          local_b8 = 0xffffffff00000000;\n          local_a8 = 0;\n          if ((long)local_140 < 0) goto LAB_0030fe48;\nLAB_0030fae5:\n          if ((param_10 <= local_140) || (local_140 + param_8 == 0)) goto LAB_0030fe48;\n          uVar21 = local_120[1];\n          if (uVar21 >> 0x18 != 0) {\n            uVar9 = gettext("Invalid/unrecognized reloc reloc %d.");\n                    /* try { // try from 0030fb3d to 0030fb59 has its CatchHandler @ 00310922 */\n            FUN_0034a750(uVar9,uVar21 >> 0x18);\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/aarch64-reloc-property.h",0xeb,"code_to_array_index");\n          }\n          if (*DAT_0067dff8 == 0) {\n                    /* try { // try from 003104dd to 003104e1 has its CatchHandler @ 00310922 */\n            FUN_0031d8d0(local_58,DAT_0067dff8,0);\n            pbVar18 = local_58[0];\n            uVar9 = gettext("cannot relocate %s in object file");\n            uVar21 = *local_120;\n                    /* try { // try from 00310510 to 00310514 has its CatchHandler @ 0031091a */\n            FUN_0034aed0(param_2,local_148,\n                         uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18,uVar9,pbVar18);\n            if (local_58[0] != abStack_48) {\n              FUN_0049e340();\n            }\n          }\n          else {\n            plVar3 = (long *)param_2[2];\n            local_90 = 0x80000000;\n            local_98 = 0xffffffff00000000;\n            local_88 = 0;\n            if (puVar10 == (undefined8 *)0x0) {\n              if ((*(byte *)((long)puVar22 + 0xb) & 0x40) != 0) {\n                uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n                    /* try { // try from 00310475 to 003104bc has its CatchHandler @ 00310944 */\n                cVar4 = FUN_00397bb0(plVar3,uVar21);\n                if (cVar4 != '\0') {\n                  lVar13 = *(long *)(param_1 + 0x28);\n                  if (lVar13 == 0) {\n                    /* try { // try from 003108c5 to 003108c9 has its CatchHandler @ 00310944 */\n                    FUN_002ed4a0();\n                    goto LAB_003108ca;\n                  }\n                  if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108a8 to 003108ac has its CatchHandler @ 00310944 */\n                    FUN_00352af0("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar9 = *(undefined8 *)(lVar13 + 8);\n                  iVar7 = *(int *)(lVar13 + 0x68);\n                  local_88 = (**(code **)(*plVar3 + 0x150))(plVar3,uVar21);\n                  local_88 = (int)uVar9 + 0x20 + iVar7 * 0x10 + local_88;\n                }\n              }\n            }\n            else {\n                    /* try { // try from 003100df to 00310101 has its CatchHandler @ 00310944 */\n              cVar4 = FUN_00228fa0(puVar10,*(undefined4 *)(*DAT_0067dff8 + 0x4c));\n              if (cVar4 != '\0') {\n                if (*(long *)(param_1 + 0x28) == 0) {\n                    /* try { // try from 00310800 to 00310804 has its CatchHandler @ 00310944 */\n                  FUN_002ed4a0();\n                  goto LAB_00310805;\n                }\n                local_88 = FUN_002f9c90(*(long *)(param_1 + 0x28),puVar10);\n              }\n            }\n            FUN_001a5bc0(&local_98);\n          }\n          if (puVar10 != (undefined8 *)0x0) {\n            bVar16 = *(byte *)((long)puVar10 + 0x3a);\n            bVar5 = bVar16 & 7;\n            if ((bVar16 & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) != 0) || ((*(byte *)((long)puVar10 + 0x3b) & 0x20) == 0)) {\n                if (*(code **)(*(long *)puVar10[2] + 0x28) != FUN_001a4aa0) {\n                  lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                  if (lVar13 != 0) {\n                    bVar16 = *(byte *)((long)puVar10 + 0x3a);\n                    bVar5 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar5 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)puVar10 + 0x3b)) goto LAB_00310305;\n                    bVar5 = *(byte *)((long)puVar10 + 0x39);\n                    if ((bVar5 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }\nLAB_0031015a:\n                bVar16 = bVar16 & 7;\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                if ((*(byte *)((long)puVar10 + 0x39) & 3) == 0) goto LAB_003101c0;\nLAB_00310166:\n                if (((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)\n                    ) && ((*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0)))) {\nLAB_00310293:\n                  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_003108ca:\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108dd to 003108e1 has its CatchHandler @ 00310922 */\n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') {\n                    if (bVar16 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)(puVar10[2] + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }\n                if (bVar5 == 2) {\n                  uVar9 = gettext("hidden");\n                }\n                else if (bVar5 < 3) {\n                  if (bVar5 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar9 = gettext("internal");\n                }\n                else {\n                  uVar9 = gettext("protected");\n                }\n                uVar11 = *puVar10;\n                uVar12 = gettext("%s symbol \'%s\' is not defined locally");\n                    /* try { // try from 003101b4 to 0031042c has its CatchHandler @ 00310922 */\n                FUN_0034a750(uVar12,uVar9,uVar11);\n                goto LAB_003101c0;\n              }\nLAB_0031020c:\n              if ((*(byte *)(puVar10 + 7) >> 4 == 2) || ((*(byte *)((long)puVar10 + 0x3c) & 2) != 0)\n                 ) {\nLAB_00310438:\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_0031043f:\n                if (bVar5 == 0) goto LAB_003101c0;\n                bVar16 = *(byte *)((long)puVar10 + 0x3a) & 7;\n                if (bVar16 != 0) goto LAB_00310270;\n                goto LAB_00310166;\n              }\n              if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310878 to 0031087c has its CatchHandler @ 00310922 */\n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') goto LAB_00310438;\n              if (*(char *)((long)puVar10 + 0x3b) < '\0') {\n                if (bVar5 != 0) goto LAB_00310260;\nLAB_003105b8:\n                if (*(code **)(*(long *)puVar10[2] + 0x28) == FUN_001a4aa0) goto LAB_0031015a;\n                    /* try { // try from 003105cc to 003105cd has its CatchHandler @ 00310922 */\n                lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                if (lVar13 == 0) goto LAB_00310438;\n              }\nLAB_00310305:\n              plVar3 = *(long **)(PTR_DAT_0067cb08 + 0x18);\n              if (plVar3 == (long *)0x0) {\nLAB_00310805:\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310818 to 0031084c has its CatchHandler @ 00310922 */\n                FUN_00352af0("../../gold/parameters.h",0x69,"target");\n              }\n              if ((*(code **)(*plVar3 + 0x38) != FUN_001a49e0) &&\n                 (cVar4 = (**(code **)(*plVar3 + 0x38))(plVar3,puVar10), cVar4 != '\0'))\n              goto LAB_00310438;\n              lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar13 == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              pbVar18 = *(byte **)(lVar13 + 0x6c40);\n              bVar24 = false;\n              bVar26 = pbVar18 == (byte *)0x0;\n              if (bVar26) {\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_003103c9:\n                if ((bVar5 == 2) ||\n                   ((*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0'))))\n                goto LAB_003103e1;\n                goto LAB_0031043f;\n              }\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"ignore-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar24 = *pbVar19 < *pbVar20;\n                bVar26 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar26);\n              bVar25 = false;\n              bVar24 = (!bVar24 && !bVar26) == bVar24;\n              if (bVar24) goto LAB_00310438;\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"report-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar25 = *pbVar19 < *pbVar20;\n                bVar24 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar15 = 0x17;\n                pbVar19 = pbVar18;\n                pbVar20 = (byte *)"ignore-in-object-files";\n                do {\n                  if (lVar15 == 0) break;\n                  lVar15 = lVar15 + -1;\n                  bVar26 = *pbVar19 < *pbVar20;\n                  bVar24 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if ((!bVar24) || (bVar24 = (*(byte *)((long)puVar10 + 0x3b) & 1) == 0, !bVar24)) {\n                  bVar26 = false;\n                  lVar15 = 0x16;\n                  pbVar19 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    if (lVar15 == 0) break;\n                    lVar15 = lVar15 + -1;\n                    bVar26 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  if (((!bVar26 && !bVar24) != bVar26) || (*(char *)((long)puVar10 + 0x3a) < '\0'))\n                  goto LAB_003103c9;\n                }\n                goto LAB_0031043f;\n              }\nLAB_003103e1:\n              FUN_0034b9f0(puVar10,param_2,local_148,local_140);\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            else {\n              if (bVar5 == 4) goto LAB_0031020c;\nLAB_00310260:\n              bVar5 = *(byte *)((long)puVar10 + 0x39);\n              if ((bVar5 & 3) != 0) {\nLAB_0031026d:\n                bVar5 = bVar5 & 3;\n                bVar16 = bVar16 & 7;\nLAB_00310270:\n                if (((bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2)) &&\n                   (bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0)) goto LAB_00310293;\n              }\nLAB_003101c0:\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            if ((bVar16 & 4) != 0) {\n              FUN_00446c20(*param_2 + 0x1e0,puVar10,param_2,local_148,local_140);\n            }\n          }\n        }\n        local_138 = &local_d8;\n        FUN_001a5bc0(&local_b8);\n        FUN_001a5bc0(local_138);\n      }" if (parenthesized_expression "((param_7 == '\0') ||\n         (local_140 = FUN_003cff80(param_6,param_2[2],(int)param_2[6],local_140),\n         local_140 != 0xffffffffffffffff))" ( (binary_expression "(param_7 == '\0') ||\n         (local_140 = FUN_003cff80(param_6,param_2[2],(int)param_2[6],local_140),\n         local_140 != 0xffffffffffffffff)" (parenthesized_expression "(param_7 == '\0')" ( (binary_expression "param_7 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(local_140 = FUN_003cff80(param_6,param_2[2],(int)param_2[6],local_140),\n         local_140 != 0xffffffffffffffff)" ( (comma_expression "local_140 = FUN_003cff80(param_6,param_2[2],(int)param_2[6],local_140),\n         local_140 != 0xffffffffffffffff" (assignment_expression "local_140 = FUN_003cff80(param_6,param_2[2],(int)param_2[6],local_140)" identifier = (call_expression "FUN_003cff80(param_6,param_2[2],(int)param_2[6],local_140)" identifier (argument_list "(param_6,param_2[2],(int)param_2[6],local_140)" ( identifier , (subscript_expression "param_2[2]" identifier [ number_literal ]) , (cast_expression "(int)param_2[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_2[6]" identifier [ number_literal ])) , identifier )))) , (binary_expression "local_140 != 0xffffffffffffffff" identifier != number_literal)) ))) )) (compound_statement "{\n        local_d0 = 0x80000000;\n        local_c8 = 0;\n        uVar21 = local_120[1];\n        local_d8 = 0xffffffff00000000;\n        uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n        if (uVar21 < local_ec) {\n          if ((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))\n          {\nLAB_0030fa33:\n            iVar7 = *(int *)((long)puVar10 + 0x1c);\n            uVar17 = iVar7 - 1;\n            if (0xfffffffd < uVar17) goto LAB_0030fa42;\nLAB_0030fcf0:\n            if (uVar17 == 0xfffffffd) {\n                    /* WARNING: Subroutine does not return */\n              FUN_00352af0("../../gold/object.h",0x70d,"set_output_symtab_index");\n            }\n            local_d8 = CONCAT44(local_d8._4_4_,iVar7);\n            goto LAB_0030fa4a;\n          }\n          if ((ulong)((plVar23[0x2d] - plVar23[0x2c] >> 3) * -0x5555555555555555) <= (ulong)uVar21)\n          {\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/object.h",0x8c1,"local_symbol");\n          }\n          puVar22 = (undefined8 *)(plVar23[0x2c] + (ulong)uVar21 * 0x18);\n          uVar1 = *(uint *)(puVar22 + 1);\n          uVar6 = uVar1 & 0x7ffffff;\n          uVar17 = uVar1 & 0x7ffffff;\n          if (((*(byte *)((long)puVar22 + 0xb) & 8) == 0) || (uVar6 == 0)) {\nLAB_0030fbb3:\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }\n          if ((ulong)(plVar23[0xb] - plVar23[10] >> 3) <= (ulong)uVar6) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310860 to 00310864 has its CatchHandler @ 0031092a */\n            FUN_00352af0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(long *)(plVar23[10] + (ulong)uVar6 * 8) != 0) goto LAB_0030fbb3;\n          cVar4 = FUN_00443530(*param_2,plVar23,uVar1 & 0x7ffffff);\n          puVar10 = (undefined8 *)0x0;\n          if (cVar4 != '\0') {\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }\nLAB_0030fd25:\n          local_b0 = 0x80000000;\n          local_b8 = 0xffffffff00000000;\n          local_a8 = 0;\n          if (*(code **)(*plVar23 + 0x80) == FUN_0022c990) {\n                    /* try { // try from 0030fd86 to 0030fd8a has its CatchHandler @ 00310922 */\n            FUN_0022c800(local_58,plVar23 + 0x1f);\n          }\n          else {\n                    /* try { // try from 00310038 to 00310039 has its CatchHandler @ 00310922 */\n            (**(code **)(*plVar23 + 0x80))(local_58,plVar23,(int)param_2[6]);\n          }\n          bVar24 = false;\n          bVar26 = iVar8 == 0;\n          if (bVar26) {\n            lVar13 = 6;\n            pbVar18 = local_58[0];\n            pbVar19 = &DAT_00533552;\n            do {\n              if (lVar13 == 0) break;\n              lVar13 = lVar13 + -1;\n              bVar24 = *pbVar18 < *pbVar19;\n              bVar26 = *pbVar18 == *pbVar19;\n              pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n              pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n            } while (bVar26);\n            bVar25 = false;\n            bVar24 = (!bVar24 && !bVar26) == bVar24;\n            if (!bVar24) {\n              lVar13 = 7;\n              pbVar18 = local_58[0];\n              pbVar19 = (byte *)".zdebug";\n              do {\n                if (lVar13 == 0) break;\n                lVar13 = lVar13 + -1;\n                bVar25 = *pbVar18 < *pbVar19;\n                bVar24 = *pbVar18 == *pbVar19;\n                pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar13 = 0x11;\n                pbVar18 = local_58[0];\n                pbVar19 = (byte *)".gnu.linkonce.wi.";\n                do {\n                  if (lVar13 == 0) break;\n                  lVar13 = lVar13 + -1;\n                  bVar26 = *pbVar18 < *pbVar19;\n                  bVar24 = *pbVar18 == *pbVar19;\n                  pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  lVar13 = 5;\n                  pbVar18 = local_58[0];\n                  pbVar19 = (byte *)".line";\n                  do {\n                    if (lVar13 == 0) break;\n                    lVar13 = lVar13 + -1;\n                    bVar25 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    lVar13 = 5;\n                    pbVar18 = local_58[0];\n                    pbVar19 = (byte *)".stab";\n                    do {\n                      if (lVar13 == 0) break;\n                      lVar13 = lVar13 + -1;\n                      bVar26 = *pbVar18 < *pbVar19;\n                      bVar24 = *pbVar18 == *pbVar19;\n                      pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                      pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      lVar13 = 4;\n                      pbVar18 = local_58[0];\n                      pbVar19 = &DAT_0053357f;\n                      do {\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0030fdc0:\n                    /* try { // try from 0030fdd2 to 0030fdd6 has its CatchHandler @ 00310912 */\n            iVar8 = FUN_00397c50(plVar23,uVar17,local_58,&local_78);\n            local_a8 = 0;\n            if (local_78 != '\0') {\n              local_a8 = iVar8 + *(int *)(puVar22 + 2);\n            }\n            iVar8 = 1;\n          }\n          else {\n            if (iVar8 == 1) goto LAB_0030fdc0;\n            if (iVar8 == 3) {\nLAB_0030ff50:\n              lVar13 = param_2[2];\n              if (puVar10 == (undefined8 *)0x0) {\n                    /* try { // try from 003105ee to 0031061d has its CatchHandler @ 00310912 */\n                uVar9 = FUN_0039dd50(lVar13,uVar21);\n                uVar11 = gettext(\n                                "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                );\n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9,uVar21);\n              }\n              else {\n                    /* try { // try from 0030ff70 to 0030ff74 has its CatchHandler @ 00310912 */\n                FUN_004443d0(&local_78,puVar10);\n                uVar9 = CONCAT71(uStack_77,local_78);\n                uVar11 = gettext(\n                                "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                );\n                    /* try { // try from 0030ffa4 to 0030ffa8 has its CatchHandler @ 0031093c */\n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9);\n                if ((undefined1 *)CONCAT71(uStack_77,local_78) != auStack_68) {\n                  FUN_0049e340();\n                }\n              }\n                    /* try { // try from 0030ffd1 to 0030ffd5 has its CatchHandler @ 00310912 */\n              iVar8 = FUN_0039d3c0(lVar13,uVar21,local_e0,&local_e1);\n              if (iVar8 != 0) {\n                    /* try { // try from 00310544 to 0031057d has its CatchHandler @ 00310912 */\n                lVar15 = FUN_00397ec0(lVar13,iVar8,&local_dc);\n                if (local_dc != 0) {\n                    /* try { // try from 00310725 to 00310745 has its CatchHandler @ 00310912 */\n                  uVar9 = FUN_0039dd50(lVar13);\n                  uVar11 = gettext("  section group signature: \"%s\"");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n                if (lVar15 != 0) {\n                  uVar9 = *(undefined8 *)(lVar15 + 8);\n                  uVar11 = gettext("  prevailing definition is from %s");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n              }\n              iVar8 = 3;\n            }\n            else {\nLAB_00310006:\n              iVar8 = 2;\n            }\n            local_a8 = 0;\n          }\n          if ((int)local_b8 != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310794 to 00310798 has its CatchHandler @ 00310912 */\n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\n          local_b8 = CONCAT44(local_b8._4_4_,0xffffffff);\n          if (local_58[0] != abStack_48) {\n            FUN_0049e340();\n          }\n          puVar22 = &local_b8;\n          if (-1 < (long)local_140) goto LAB_0030fae5;\nLAB_0030fe48:\n          uVar9 = gettext("reloc has bad offset %zu");\n                    /* try { // try from 0030fe68 to 0030fe6c has its CatchHandler @ 00310922 */\n          FUN_0034aed0(param_2,local_148,local_140,uVar9,local_140);\n        }\n        else {\n          if ((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))\n          goto LAB_0030fa33;\n          if (uVar21 < *(uint *)(plVar23 + 0x24)) {\nLAB_003107a0:\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003107b3 to 003107ff has its CatchHandler @ 0031092a */\n            FUN_00352af0("../../gold/target-reloc.h",0x17f,"relocate_section");\n          }\n          uVar14 = (ulong)(uVar21 - *(uint *)(plVar23 + 0x24));\n          if ((ulong)(plVar23[0x27] - plVar23[0x26] >> 3) <= uVar14) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/object.h",0x8ad,"global_symbol");\n          }\n          puVar10 = *(undefined8 **)(plVar23[0x26] + uVar14 * 8);\n          if (puVar10 == (undefined8 *)0x0) goto LAB_003107a0;\n          if ((*(byte *)((long)puVar10 + 0x3a) & 0x10) == 0) goto LAB_0030fa33;\n                    /* try { // try from 0030fc40 to 0030fcb4 has its CatchHandler @ 0031092a */\n          puVar10 = (undefined8 *)FUN_00443580(*param_2,puVar10);\n          iVar7 = *(int *)((long)puVar10 + 0x1c);\n          uVar17 = iVar7 - 1;\n          if (uVar17 < 0xfffffffe) {\n            if (((int)local_d8 != 0) && ((int)local_d8 != -2)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0031077c to 00310780 has its CatchHandler @ 0031092a */\n              FUN_00352af0("../../gold/object.h",0x70c,"set_output_symtab_index");\n            }\n            goto LAB_0030fcf0;\n          }\n          if ((int)local_d8 != 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\nLAB_0030fa42:\n          local_d8 = CONCAT44(local_d8._4_4_,0xffffffff);\nLAB_0030fa4a:\n          local_c8 = *(undefined4 *)(puVar10 + 8);\n          if ((*(byte *)(puVar10 + 7) & 0xf) == 6) {\n            local_d0 = local_d0 | 0x20000000;\n          }\n          else if ((*(byte *)(puVar10 + 7) & 0xf) == 10) {\n            local_d0 = local_d0 | 0x40000000;\n          }\n          if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') {\n            if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) {\nLAB_0030fd10:\n                puVar22 = &local_d8;\n                uVar17 = 0;\n                goto LAB_0030fd25;\n              }\n            }\n            else if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 4) goto LAB_0030fd10;\n          }\n          puVar22 = &local_d8;\nLAB_0030faa5:\n          local_b0 = 0x80000000;\n          local_b8 = 0xffffffff00000000;\n          local_a8 = 0;\n          if ((long)local_140 < 0) goto LAB_0030fe48;\nLAB_0030fae5:\n          if ((param_10 <= local_140) || (local_140 + param_8 == 0)) goto LAB_0030fe48;\n          uVar21 = local_120[1];\n          if (uVar21 >> 0x18 != 0) {\n            uVar9 = gettext("Invalid/unrecognized reloc reloc %d.");\n                    /* try { // try from 0030fb3d to 0030fb59 has its CatchHandler @ 00310922 */\n            FUN_0034a750(uVar9,uVar21 >> 0x18);\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/aarch64-reloc-property.h",0xeb,"code_to_array_index");\n          }\n          if (*DAT_0067dff8 == 0) {\n                    /* try { // try from 003104dd to 003104e1 has its CatchHandler @ 00310922 */\n            FUN_0031d8d0(local_58,DAT_0067dff8,0);\n            pbVar18 = local_58[0];\n            uVar9 = gettext("cannot relocate %s in object file");\n            uVar21 = *local_120;\n                    /* try { // try from 00310510 to 00310514 has its CatchHandler @ 0031091a */\n            FUN_0034aed0(param_2,local_148,\n                         uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18,uVar9,pbVar18);\n            if (local_58[0] != abStack_48) {\n              FUN_0049e340();\n            }\n          }\n          else {\n            plVar3 = (long *)param_2[2];\n            local_90 = 0x80000000;\n            local_98 = 0xffffffff00000000;\n            local_88 = 0;\n            if (puVar10 == (undefined8 *)0x0) {\n              if ((*(byte *)((long)puVar22 + 0xb) & 0x40) != 0) {\n                uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n                    /* try { // try from 00310475 to 003104bc has its CatchHandler @ 00310944 */\n                cVar4 = FUN_00397bb0(plVar3,uVar21);\n                if (cVar4 != '\0') {\n                  lVar13 = *(long *)(param_1 + 0x28);\n                  if (lVar13 == 0) {\n                    /* try { // try from 003108c5 to 003108c9 has its CatchHandler @ 00310944 */\n                    FUN_002ed4a0();\n                    goto LAB_003108ca;\n                  }\n                  if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108a8 to 003108ac has its CatchHandler @ 00310944 */\n                    FUN_00352af0("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar9 = *(undefined8 *)(lVar13 + 8);\n                  iVar7 = *(int *)(lVar13 + 0x68);\n                  local_88 = (**(code **)(*plVar3 + 0x150))(plVar3,uVar21);\n                  local_88 = (int)uVar9 + 0x20 + iVar7 * 0x10 + local_88;\n                }\n              }\n            }\n            else {\n                    /* try { // try from 003100df to 00310101 has its CatchHandler @ 00310944 */\n              cVar4 = FUN_00228fa0(puVar10,*(undefined4 *)(*DAT_0067dff8 + 0x4c));\n              if (cVar4 != '\0') {\n                if (*(long *)(param_1 + 0x28) == 0) {\n                    /* try { // try from 00310800 to 00310804 has its CatchHandler @ 00310944 */\n                  FUN_002ed4a0();\n                  goto LAB_00310805;\n                }\n                local_88 = FUN_002f9c90(*(long *)(param_1 + 0x28),puVar10);\n              }\n            }\n            FUN_001a5bc0(&local_98);\n          }\n          if (puVar10 != (undefined8 *)0x0) {\n            bVar16 = *(byte *)((long)puVar10 + 0x3a);\n            bVar5 = bVar16 & 7;\n            if ((bVar16 & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) != 0) || ((*(byte *)((long)puVar10 + 0x3b) & 0x20) == 0)) {\n                if (*(code **)(*(long *)puVar10[2] + 0x28) != FUN_001a4aa0) {\n                  lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                  if (lVar13 != 0) {\n                    bVar16 = *(byte *)((long)puVar10 + 0x3a);\n                    bVar5 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar5 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)puVar10 + 0x3b)) goto LAB_00310305;\n                    bVar5 = *(byte *)((long)puVar10 + 0x39);\n                    if ((bVar5 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }\nLAB_0031015a:\n                bVar16 = bVar16 & 7;\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                if ((*(byte *)((long)puVar10 + 0x39) & 3) == 0) goto LAB_003101c0;\nLAB_00310166:\n                if (((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)\n                    ) && ((*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0)))) {\nLAB_00310293:\n                  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_003108ca:\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108dd to 003108e1 has its CatchHandler @ 00310922 */\n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') {\n                    if (bVar16 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)(puVar10[2] + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }\n                if (bVar5 == 2) {\n                  uVar9 = gettext("hidden");\n                }\n                else if (bVar5 < 3) {\n                  if (bVar5 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar9 = gettext("internal");\n                }\n                else {\n                  uVar9 = gettext("protected");\n                }\n                uVar11 = *puVar10;\n                uVar12 = gettext("%s symbol \'%s\' is not defined locally");\n                    /* try { // try from 003101b4 to 0031042c has its CatchHandler @ 00310922 */\n                FUN_0034a750(uVar12,uVar9,uVar11);\n                goto LAB_003101c0;\n              }\nLAB_0031020c:\n              if ((*(byte *)(puVar10 + 7) >> 4 == 2) || ((*(byte *)((long)puVar10 + 0x3c) & 2) != 0)\n                 ) {\nLAB_00310438:\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_0031043f:\n                if (bVar5 == 0) goto LAB_003101c0;\n                bVar16 = *(byte *)((long)puVar10 + 0x3a) & 7;\n                if (bVar16 != 0) goto LAB_00310270;\n                goto LAB_00310166;\n              }\n              if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310878 to 0031087c has its CatchHandler @ 00310922 */\n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') goto LAB_00310438;\n              if (*(char *)((long)puVar10 + 0x3b) < '\0') {\n                if (bVar5 != 0) goto LAB_00310260;\nLAB_003105b8:\n                if (*(code **)(*(long *)puVar10[2] + 0x28) == FUN_001a4aa0) goto LAB_0031015a;\n                    /* try { // try from 003105cc to 003105cd has its CatchHandler @ 00310922 */\n                lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                if (lVar13 == 0) goto LAB_00310438;\n              }\nLAB_00310305:\n              plVar3 = *(long **)(PTR_DAT_0067cb08 + 0x18);\n              if (plVar3 == (long *)0x0) {\nLAB_00310805:\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310818 to 0031084c has its CatchHandler @ 00310922 */\n                FUN_00352af0("../../gold/parameters.h",0x69,"target");\n              }\n              if ((*(code **)(*plVar3 + 0x38) != FUN_001a49e0) &&\n                 (cVar4 = (**(code **)(*plVar3 + 0x38))(plVar3,puVar10), cVar4 != '\0'))\n              goto LAB_00310438;\n              lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar13 == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              pbVar18 = *(byte **)(lVar13 + 0x6c40);\n              bVar24 = false;\n              bVar26 = pbVar18 == (byte *)0x0;\n              if (bVar26) {\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_003103c9:\n                if ((bVar5 == 2) ||\n                   ((*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0'))))\n                goto LAB_003103e1;\n                goto LAB_0031043f;\n              }\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"ignore-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar24 = *pbVar19 < *pbVar20;\n                bVar26 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar26);\n              bVar25 = false;\n              bVar24 = (!bVar24 && !bVar26) == bVar24;\n              if (bVar24) goto LAB_00310438;\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"report-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar25 = *pbVar19 < *pbVar20;\n                bVar24 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar15 = 0x17;\n                pbVar19 = pbVar18;\n                pbVar20 = (byte *)"ignore-in-object-files";\n                do {\n                  if (lVar15 == 0) break;\n                  lVar15 = lVar15 + -1;\n                  bVar26 = *pbVar19 < *pbVar20;\n                  bVar24 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if ((!bVar24) || (bVar24 = (*(byte *)((long)puVar10 + 0x3b) & 1) == 0, !bVar24)) {\n                  bVar26 = false;\n                  lVar15 = 0x16;\n                  pbVar19 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    if (lVar15 == 0) break;\n                    lVar15 = lVar15 + -1;\n                    bVar26 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  if (((!bVar26 && !bVar24) != bVar26) || (*(char *)((long)puVar10 + 0x3a) < '\0'))\n                  goto LAB_003103c9;\n                }\n                goto LAB_0031043f;\n              }\nLAB_003103e1:\n              FUN_0034b9f0(puVar10,param_2,local_148,local_140);\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            else {\n              if (bVar5 == 4) goto LAB_0031020c;\nLAB_00310260:\n              bVar5 = *(byte *)((long)puVar10 + 0x39);\n              if ((bVar5 & 3) != 0) {\nLAB_0031026d:\n                bVar5 = bVar5 & 3;\n                bVar16 = bVar16 & 7;\nLAB_00310270:\n                if (((bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2)) &&\n                   (bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0)) goto LAB_00310293;\n              }\nLAB_003101c0:\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            if ((bVar16 & 4) != 0) {\n              FUN_00446c20(*param_2 + 0x1e0,puVar10,param_2,local_148,local_140);\n            }\n          }\n        }\n        local_138 = &local_d8;\n        FUN_001a5bc0(&local_b8);\n        FUN_001a5bc0(local_138);\n      }" { (expression_statement "local_d0 = 0x80000000;" (assignment_expression "local_d0 = 0x80000000" identifier = number_literal) ;) (expression_statement "local_c8 = 0;" (assignment_expression "local_c8 = 0" identifier = number_literal) ;) (expression_statement "uVar21 = local_120[1];" (assignment_expression "uVar21 = local_120[1]" identifier = (subscript_expression "local_120[1]" identifier [ number_literal ])) ;) (expression_statement "local_d8 = 0xffffffff00000000;" (assignment_expression "local_d8 = 0xffffffff00000000" identifier = number_literal) ;) (expression_statement "uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;" (assignment_expression "uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8" identifier = (binary_expression "((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8" (parenthesized_expression "((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18)" ( (binary_expression "(uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18" (binary_expression "(uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8" (binary_expression "(uVar21 & 0xff0000) >> 8" (parenthesized_expression "(uVar21 & 0xff0000)" ( (binary_expression "uVar21 & 0xff0000" identifier & number_literal) )) >> number_literal) | (binary_expression "(uVar21 & 0xff00) << 8" (parenthesized_expression "(uVar21 & 0xff00)" ( (binary_expression "uVar21 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar21 << 0x18" identifier << number_literal)) )) >> number_literal)) ;) (if_statement "if (uVar21 < local_ec) {\n          if ((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))\n          {\nLAB_0030fa33:\n            iVar7 = *(int *)((long)puVar10 + 0x1c);\n            uVar17 = iVar7 - 1;\n            if (0xfffffffd < uVar17) goto LAB_0030fa42;\nLAB_0030fcf0:\n            if (uVar17 == 0xfffffffd) {\n                    /* WARNING: Subroutine does not return */\n              FUN_00352af0("../../gold/object.h",0x70d,"set_output_symtab_index");\n            }\n            local_d8 = CONCAT44(local_d8._4_4_,iVar7);\n            goto LAB_0030fa4a;\n          }\n          if ((ulong)((plVar23[0x2d] - plVar23[0x2c] >> 3) * -0x5555555555555555) <= (ulong)uVar21)\n          {\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/object.h",0x8c1,"local_symbol");\n          }\n          puVar22 = (undefined8 *)(plVar23[0x2c] + (ulong)uVar21 * 0x18);\n          uVar1 = *(uint *)(puVar22 + 1);\n          uVar6 = uVar1 & 0x7ffffff;\n          uVar17 = uVar1 & 0x7ffffff;\n          if (((*(byte *)((long)puVar22 + 0xb) & 8) == 0) || (uVar6 == 0)) {\nLAB_0030fbb3:\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }\n          if ((ulong)(plVar23[0xb] - plVar23[10] >> 3) <= (ulong)uVar6) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310860 to 00310864 has its CatchHandler @ 0031092a */\n            FUN_00352af0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(long *)(plVar23[10] + (ulong)uVar6 * 8) != 0) goto LAB_0030fbb3;\n          cVar4 = FUN_00443530(*param_2,plVar23,uVar1 & 0x7ffffff);\n          puVar10 = (undefined8 *)0x0;\n          if (cVar4 != '\0') {\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }\nLAB_0030fd25:\n          local_b0 = 0x80000000;\n          local_b8 = 0xffffffff00000000;\n          local_a8 = 0;\n          if (*(code **)(*plVar23 + 0x80) == FUN_0022c990) {\n                    /* try { // try from 0030fd86 to 0030fd8a has its CatchHandler @ 00310922 */\n            FUN_0022c800(local_58,plVar23 + 0x1f);\n          }\n          else {\n                    /* try { // try from 00310038 to 00310039 has its CatchHandler @ 00310922 */\n            (**(code **)(*plVar23 + 0x80))(local_58,plVar23,(int)param_2[6]);\n          }\n          bVar24 = false;\n          bVar26 = iVar8 == 0;\n          if (bVar26) {\n            lVar13 = 6;\n            pbVar18 = local_58[0];\n            pbVar19 = &DAT_00533552;\n            do {\n              if (lVar13 == 0) break;\n              lVar13 = lVar13 + -1;\n              bVar24 = *pbVar18 < *pbVar19;\n              bVar26 = *pbVar18 == *pbVar19;\n              pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n              pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n            } while (bVar26);\n            bVar25 = false;\n            bVar24 = (!bVar24 && !bVar26) == bVar24;\n            if (!bVar24) {\n              lVar13 = 7;\n              pbVar18 = local_58[0];\n              pbVar19 = (byte *)".zdebug";\n              do {\n                if (lVar13 == 0) break;\n                lVar13 = lVar13 + -1;\n                bVar25 = *pbVar18 < *pbVar19;\n                bVar24 = *pbVar18 == *pbVar19;\n                pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar13 = 0x11;\n                pbVar18 = local_58[0];\n                pbVar19 = (byte *)".gnu.linkonce.wi.";\n                do {\n                  if (lVar13 == 0) break;\n                  lVar13 = lVar13 + -1;\n                  bVar26 = *pbVar18 < *pbVar19;\n                  bVar24 = *pbVar18 == *pbVar19;\n                  pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  lVar13 = 5;\n                  pbVar18 = local_58[0];\n                  pbVar19 = (byte *)".line";\n                  do {\n                    if (lVar13 == 0) break;\n                    lVar13 = lVar13 + -1;\n                    bVar25 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    lVar13 = 5;\n                    pbVar18 = local_58[0];\n                    pbVar19 = (byte *)".stab";\n                    do {\n                      if (lVar13 == 0) break;\n                      lVar13 = lVar13 + -1;\n                      bVar26 = *pbVar18 < *pbVar19;\n                      bVar24 = *pbVar18 == *pbVar19;\n                      pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                      pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      lVar13 = 4;\n                      pbVar18 = local_58[0];\n                      pbVar19 = &DAT_0053357f;\n                      do {\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0030fdc0:\n                    /* try { // try from 0030fdd2 to 0030fdd6 has its CatchHandler @ 00310912 */\n            iVar8 = FUN_00397c50(plVar23,uVar17,local_58,&local_78);\n            local_a8 = 0;\n            if (local_78 != '\0') {\n              local_a8 = iVar8 + *(int *)(puVar22 + 2);\n            }\n            iVar8 = 1;\n          }\n          else {\n            if (iVar8 == 1) goto LAB_0030fdc0;\n            if (iVar8 == 3) {\nLAB_0030ff50:\n              lVar13 = param_2[2];\n              if (puVar10 == (undefined8 *)0x0) {\n                    /* try { // try from 003105ee to 0031061d has its CatchHandler @ 00310912 */\n                uVar9 = FUN_0039dd50(lVar13,uVar21);\n                uVar11 = gettext(\n                                "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                );\n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9,uVar21);\n              }\n              else {\n                    /* try { // try from 0030ff70 to 0030ff74 has its CatchHandler @ 00310912 */\n                FUN_004443d0(&local_78,puVar10);\n                uVar9 = CONCAT71(uStack_77,local_78);\n                uVar11 = gettext(\n                                "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                );\n                    /* try { // try from 0030ffa4 to 0030ffa8 has its CatchHandler @ 0031093c */\n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9);\n                if ((undefined1 *)CONCAT71(uStack_77,local_78) != auStack_68) {\n                  FUN_0049e340();\n                }\n              }\n                    /* try { // try from 0030ffd1 to 0030ffd5 has its CatchHandler @ 00310912 */\n              iVar8 = FUN_0039d3c0(lVar13,uVar21,local_e0,&local_e1);\n              if (iVar8 != 0) {\n                    /* try { // try from 00310544 to 0031057d has its CatchHandler @ 00310912 */\n                lVar15 = FUN_00397ec0(lVar13,iVar8,&local_dc);\n                if (local_dc != 0) {\n                    /* try { // try from 00310725 to 00310745 has its CatchHandler @ 00310912 */\n                  uVar9 = FUN_0039dd50(lVar13);\n                  uVar11 = gettext("  section group signature: \"%s\"");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n                if (lVar15 != 0) {\n                  uVar9 = *(undefined8 *)(lVar15 + 8);\n                  uVar11 = gettext("  prevailing definition is from %s");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n              }\n              iVar8 = 3;\n            }\n            else {\nLAB_00310006:\n              iVar8 = 2;\n            }\n            local_a8 = 0;\n          }\n          if ((int)local_b8 != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310794 to 00310798 has its CatchHandler @ 00310912 */\n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\n          local_b8 = CONCAT44(local_b8._4_4_,0xffffffff);\n          if (local_58[0] != abStack_48) {\n            FUN_0049e340();\n          }\n          puVar22 = &local_b8;\n          if (-1 < (long)local_140) goto LAB_0030fae5;\nLAB_0030fe48:\n          uVar9 = gettext("reloc has bad offset %zu");\n                    /* try { // try from 0030fe68 to 0030fe6c has its CatchHandler @ 00310922 */\n          FUN_0034aed0(param_2,local_148,local_140,uVar9,local_140);\n        }\n        else {\n          if ((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))\n          goto LAB_0030fa33;\n          if (uVar21 < *(uint *)(plVar23 + 0x24)) {\nLAB_003107a0:\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003107b3 to 003107ff has its CatchHandler @ 0031092a */\n            FUN_00352af0("../../gold/target-reloc.h",0x17f,"relocate_section");\n          }\n          uVar14 = (ulong)(uVar21 - *(uint *)(plVar23 + 0x24));\n          if ((ulong)(plVar23[0x27] - plVar23[0x26] >> 3) <= uVar14) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/object.h",0x8ad,"global_symbol");\n          }\n          puVar10 = *(undefined8 **)(plVar23[0x26] + uVar14 * 8);\n          if (puVar10 == (undefined8 *)0x0) goto LAB_003107a0;\n          if ((*(byte *)((long)puVar10 + 0x3a) & 0x10) == 0) goto LAB_0030fa33;\n                    /* try { // try from 0030fc40 to 0030fcb4 has its CatchHandler @ 0031092a */\n          puVar10 = (undefined8 *)FUN_00443580(*param_2,puVar10);\n          iVar7 = *(int *)((long)puVar10 + 0x1c);\n          uVar17 = iVar7 - 1;\n          if (uVar17 < 0xfffffffe) {\n            if (((int)local_d8 != 0) && ((int)local_d8 != -2)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0031077c to 00310780 has its CatchHandler @ 0031092a */\n              FUN_00352af0("../../gold/object.h",0x70c,"set_output_symtab_index");\n            }\n            goto LAB_0030fcf0;\n          }\n          if ((int)local_d8 != 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\nLAB_0030fa42:\n          local_d8 = CONCAT44(local_d8._4_4_,0xffffffff);\nLAB_0030fa4a:\n          local_c8 = *(undefined4 *)(puVar10 + 8);\n          if ((*(byte *)(puVar10 + 7) & 0xf) == 6) {\n            local_d0 = local_d0 | 0x20000000;\n          }\n          else if ((*(byte *)(puVar10 + 7) & 0xf) == 10) {\n            local_d0 = local_d0 | 0x40000000;\n          }\n          if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') {\n            if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) {\nLAB_0030fd10:\n                puVar22 = &local_d8;\n                uVar17 = 0;\n                goto LAB_0030fd25;\n              }\n            }\n            else if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 4) goto LAB_0030fd10;\n          }\n          puVar22 = &local_d8;\nLAB_0030faa5:\n          local_b0 = 0x80000000;\n          local_b8 = 0xffffffff00000000;\n          local_a8 = 0;\n          if ((long)local_140 < 0) goto LAB_0030fe48;\nLAB_0030fae5:\n          if ((param_10 <= local_140) || (local_140 + param_8 == 0)) goto LAB_0030fe48;\n          uVar21 = local_120[1];\n          if (uVar21 >> 0x18 != 0) {\n            uVar9 = gettext("Invalid/unrecognized reloc reloc %d.");\n                    /* try { // try from 0030fb3d to 0030fb59 has its CatchHandler @ 00310922 */\n            FUN_0034a750(uVar9,uVar21 >> 0x18);\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/aarch64-reloc-property.h",0xeb,"code_to_array_index");\n          }\n          if (*DAT_0067dff8 == 0) {\n                    /* try { // try from 003104dd to 003104e1 has its CatchHandler @ 00310922 */\n            FUN_0031d8d0(local_58,DAT_0067dff8,0);\n            pbVar18 = local_58[0];\n            uVar9 = gettext("cannot relocate %s in object file");\n            uVar21 = *local_120;\n                    /* try { // try from 00310510 to 00310514 has its CatchHandler @ 0031091a */\n            FUN_0034aed0(param_2,local_148,\n                         uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18,uVar9,pbVar18);\n            if (local_58[0] != abStack_48) {\n              FUN_0049e340();\n            }\n          }\n          else {\n            plVar3 = (long *)param_2[2];\n            local_90 = 0x80000000;\n            local_98 = 0xffffffff00000000;\n            local_88 = 0;\n            if (puVar10 == (undefined8 *)0x0) {\n              if ((*(byte *)((long)puVar22 + 0xb) & 0x40) != 0) {\n                uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n                    /* try { // try from 00310475 to 003104bc has its CatchHandler @ 00310944 */\n                cVar4 = FUN_00397bb0(plVar3,uVar21);\n                if (cVar4 != '\0') {\n                  lVar13 = *(long *)(param_1 + 0x28);\n                  if (lVar13 == 0) {\n                    /* try { // try from 003108c5 to 003108c9 has its CatchHandler @ 00310944 */\n                    FUN_002ed4a0();\n                    goto LAB_003108ca;\n                  }\n                  if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108a8 to 003108ac has its CatchHandler @ 00310944 */\n                    FUN_00352af0("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar9 = *(undefined8 *)(lVar13 + 8);\n                  iVar7 = *(int *)(lVar13 + 0x68);\n                  local_88 = (**(code **)(*plVar3 + 0x150))(plVar3,uVar21);\n                  local_88 = (int)uVar9 + 0x20 + iVar7 * 0x10 + local_88;\n                }\n              }\n            }\n            else {\n                    /* try { // try from 003100df to 00310101 has its CatchHandler @ 00310944 */\n              cVar4 = FUN_00228fa0(puVar10,*(undefined4 *)(*DAT_0067dff8 + 0x4c));\n              if (cVar4 != '\0') {\n                if (*(long *)(param_1 + 0x28) == 0) {\n                    /* try { // try from 00310800 to 00310804 has its CatchHandler @ 00310944 */\n                  FUN_002ed4a0();\n                  goto LAB_00310805;\n                }\n                local_88 = FUN_002f9c90(*(long *)(param_1 + 0x28),puVar10);\n              }\n            }\n            FUN_001a5bc0(&local_98);\n          }\n          if (puVar10 != (undefined8 *)0x0) {\n            bVar16 = *(byte *)((long)puVar10 + 0x3a);\n            bVar5 = bVar16 & 7;\n            if ((bVar16 & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) != 0) || ((*(byte *)((long)puVar10 + 0x3b) & 0x20) == 0)) {\n                if (*(code **)(*(long *)puVar10[2] + 0x28) != FUN_001a4aa0) {\n                  lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                  if (lVar13 != 0) {\n                    bVar16 = *(byte *)((long)puVar10 + 0x3a);\n                    bVar5 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar5 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)puVar10 + 0x3b)) goto LAB_00310305;\n                    bVar5 = *(byte *)((long)puVar10 + 0x39);\n                    if ((bVar5 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }\nLAB_0031015a:\n                bVar16 = bVar16 & 7;\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                if ((*(byte *)((long)puVar10 + 0x39) & 3) == 0) goto LAB_003101c0;\nLAB_00310166:\n                if (((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)\n                    ) && ((*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0)))) {\nLAB_00310293:\n                  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_003108ca:\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108dd to 003108e1 has its CatchHandler @ 00310922 */\n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') {\n                    if (bVar16 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)(puVar10[2] + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }\n                if (bVar5 == 2) {\n                  uVar9 = gettext("hidden");\n                }\n                else if (bVar5 < 3) {\n                  if (bVar5 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar9 = gettext("internal");\n                }\n                else {\n                  uVar9 = gettext("protected");\n                }\n                uVar11 = *puVar10;\n                uVar12 = gettext("%s symbol \'%s\' is not defined locally");\n                    /* try { // try from 003101b4 to 0031042c has its CatchHandler @ 00310922 */\n                FUN_0034a750(uVar12,uVar9,uVar11);\n                goto LAB_003101c0;\n              }\nLAB_0031020c:\n              if ((*(byte *)(puVar10 + 7) >> 4 == 2) || ((*(byte *)((long)puVar10 + 0x3c) & 2) != 0)\n                 ) {\nLAB_00310438:\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_0031043f:\n                if (bVar5 == 0) goto LAB_003101c0;\n                bVar16 = *(byte *)((long)puVar10 + 0x3a) & 7;\n                if (bVar16 != 0) goto LAB_00310270;\n                goto LAB_00310166;\n              }\n              if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310878 to 0031087c has its CatchHandler @ 00310922 */\n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') goto LAB_00310438;\n              if (*(char *)((long)puVar10 + 0x3b) < '\0') {\n                if (bVar5 != 0) goto LAB_00310260;\nLAB_003105b8:\n                if (*(code **)(*(long *)puVar10[2] + 0x28) == FUN_001a4aa0) goto LAB_0031015a;\n                    /* try { // try from 003105cc to 003105cd has its CatchHandler @ 00310922 */\n                lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                if (lVar13 == 0) goto LAB_00310438;\n              }\nLAB_00310305:\n              plVar3 = *(long **)(PTR_DAT_0067cb08 + 0x18);\n              if (plVar3 == (long *)0x0) {\nLAB_00310805:\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310818 to 0031084c has its CatchHandler @ 00310922 */\n                FUN_00352af0("../../gold/parameters.h",0x69,"target");\n              }\n              if ((*(code **)(*plVar3 + 0x38) != FUN_001a49e0) &&\n                 (cVar4 = (**(code **)(*plVar3 + 0x38))(plVar3,puVar10), cVar4 != '\0'))\n              goto LAB_00310438;\n              lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar13 == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              pbVar18 = *(byte **)(lVar13 + 0x6c40);\n              bVar24 = false;\n              bVar26 = pbVar18 == (byte *)0x0;\n              if (bVar26) {\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_003103c9:\n                if ((bVar5 == 2) ||\n                   ((*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0'))))\n                goto LAB_003103e1;\n                goto LAB_0031043f;\n              }\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"ignore-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar24 = *pbVar19 < *pbVar20;\n                bVar26 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar26);\n              bVar25 = false;\n              bVar24 = (!bVar24 && !bVar26) == bVar24;\n              if (bVar24) goto LAB_00310438;\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"report-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar25 = *pbVar19 < *pbVar20;\n                bVar24 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar15 = 0x17;\n                pbVar19 = pbVar18;\n                pbVar20 = (byte *)"ignore-in-object-files";\n                do {\n                  if (lVar15 == 0) break;\n                  lVar15 = lVar15 + -1;\n                  bVar26 = *pbVar19 < *pbVar20;\n                  bVar24 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if ((!bVar24) || (bVar24 = (*(byte *)((long)puVar10 + 0x3b) & 1) == 0, !bVar24)) {\n                  bVar26 = false;\n                  lVar15 = 0x16;\n                  pbVar19 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    if (lVar15 == 0) break;\n                    lVar15 = lVar15 + -1;\n                    bVar26 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  if (((!bVar26 && !bVar24) != bVar26) || (*(char *)((long)puVar10 + 0x3a) < '\0'))\n                  goto LAB_003103c9;\n                }\n                goto LAB_0031043f;\n              }\nLAB_003103e1:\n              FUN_0034b9f0(puVar10,param_2,local_148,local_140);\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            else {\n              if (bVar5 == 4) goto LAB_0031020c;\nLAB_00310260:\n              bVar5 = *(byte *)((long)puVar10 + 0x39);\n              if ((bVar5 & 3) != 0) {\nLAB_0031026d:\n                bVar5 = bVar5 & 3;\n                bVar16 = bVar16 & 7;\nLAB_00310270:\n                if (((bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2)) &&\n                   (bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0)) goto LAB_00310293;\n              }\nLAB_003101c0:\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            if ((bVar16 & 4) != 0) {\n              FUN_00446c20(*param_2 + 0x1e0,puVar10,param_2,local_148,local_140);\n            }\n          }\n        }" if (parenthesized_expression "(uVar21 < local_ec)" ( (binary_expression "uVar21 < local_ec" identifier < identifier) )) (compound_statement "{\n          if ((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))\n          {\nLAB_0030fa33:\n            iVar7 = *(int *)((long)puVar10 + 0x1c);\n            uVar17 = iVar7 - 1;\n            if (0xfffffffd < uVar17) goto LAB_0030fa42;\nLAB_0030fcf0:\n            if (uVar17 == 0xfffffffd) {\n                    /* WARNING: Subroutine does not return */\n              FUN_00352af0("../../gold/object.h",0x70d,"set_output_symtab_index");\n            }\n            local_d8 = CONCAT44(local_d8._4_4_,iVar7);\n            goto LAB_0030fa4a;\n          }\n          if ((ulong)((plVar23[0x2d] - plVar23[0x2c] >> 3) * -0x5555555555555555) <= (ulong)uVar21)\n          {\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/object.h",0x8c1,"local_symbol");\n          }\n          puVar22 = (undefined8 *)(plVar23[0x2c] + (ulong)uVar21 * 0x18);\n          uVar1 = *(uint *)(puVar22 + 1);\n          uVar6 = uVar1 & 0x7ffffff;\n          uVar17 = uVar1 & 0x7ffffff;\n          if (((*(byte *)((long)puVar22 + 0xb) & 8) == 0) || (uVar6 == 0)) {\nLAB_0030fbb3:\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }\n          if ((ulong)(plVar23[0xb] - plVar23[10] >> 3) <= (ulong)uVar6) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310860 to 00310864 has its CatchHandler @ 0031092a */\n            FUN_00352af0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(long *)(plVar23[10] + (ulong)uVar6 * 8) != 0) goto LAB_0030fbb3;\n          cVar4 = FUN_00443530(*param_2,plVar23,uVar1 & 0x7ffffff);\n          puVar10 = (undefined8 *)0x0;\n          if (cVar4 != '\0') {\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }\nLAB_0030fd25:\n          local_b0 = 0x80000000;\n          local_b8 = 0xffffffff00000000;\n          local_a8 = 0;\n          if (*(code **)(*plVar23 + 0x80) == FUN_0022c990) {\n                    /* try { // try from 0030fd86 to 0030fd8a has its CatchHandler @ 00310922 */\n            FUN_0022c800(local_58,plVar23 + 0x1f);\n          }\n          else {\n                    /* try { // try from 00310038 to 00310039 has its CatchHandler @ 00310922 */\n            (**(code **)(*plVar23 + 0x80))(local_58,plVar23,(int)param_2[6]);\n          }\n          bVar24 = false;\n          bVar26 = iVar8 == 0;\n          if (bVar26) {\n            lVar13 = 6;\n            pbVar18 = local_58[0];\n            pbVar19 = &DAT_00533552;\n            do {\n              if (lVar13 == 0) break;\n              lVar13 = lVar13 + -1;\n              bVar24 = *pbVar18 < *pbVar19;\n              bVar26 = *pbVar18 == *pbVar19;\n              pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n              pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n            } while (bVar26);\n            bVar25 = false;\n            bVar24 = (!bVar24 && !bVar26) == bVar24;\n            if (!bVar24) {\n              lVar13 = 7;\n              pbVar18 = local_58[0];\n              pbVar19 = (byte *)".zdebug";\n              do {\n                if (lVar13 == 0) break;\n                lVar13 = lVar13 + -1;\n                bVar25 = *pbVar18 < *pbVar19;\n                bVar24 = *pbVar18 == *pbVar19;\n                pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar13 = 0x11;\n                pbVar18 = local_58[0];\n                pbVar19 = (byte *)".gnu.linkonce.wi.";\n                do {\n                  if (lVar13 == 0) break;\n                  lVar13 = lVar13 + -1;\n                  bVar26 = *pbVar18 < *pbVar19;\n                  bVar24 = *pbVar18 == *pbVar19;\n                  pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  lVar13 = 5;\n                  pbVar18 = local_58[0];\n                  pbVar19 = (byte *)".line";\n                  do {\n                    if (lVar13 == 0) break;\n                    lVar13 = lVar13 + -1;\n                    bVar25 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    lVar13 = 5;\n                    pbVar18 = local_58[0];\n                    pbVar19 = (byte *)".stab";\n                    do {\n                      if (lVar13 == 0) break;\n                      lVar13 = lVar13 + -1;\n                      bVar26 = *pbVar18 < *pbVar19;\n                      bVar24 = *pbVar18 == *pbVar19;\n                      pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                      pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      lVar13 = 4;\n                      pbVar18 = local_58[0];\n                      pbVar19 = &DAT_0053357f;\n                      do {\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0030fdc0:\n                    /* try { // try from 0030fdd2 to 0030fdd6 has its CatchHandler @ 00310912 */\n            iVar8 = FUN_00397c50(plVar23,uVar17,local_58,&local_78);\n            local_a8 = 0;\n            if (local_78 != '\0') {\n              local_a8 = iVar8 + *(int *)(puVar22 + 2);\n            }\n            iVar8 = 1;\n          }\n          else {\n            if (iVar8 == 1) goto LAB_0030fdc0;\n            if (iVar8 == 3) {\nLAB_0030ff50:\n              lVar13 = param_2[2];\n              if (puVar10 == (undefined8 *)0x0) {\n                    /* try { // try from 003105ee to 0031061d has its CatchHandler @ 00310912 */\n                uVar9 = FUN_0039dd50(lVar13,uVar21);\n                uVar11 = gettext(\n                                "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                );\n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9,uVar21);\n              }\n              else {\n                    /* try { // try from 0030ff70 to 0030ff74 has its CatchHandler @ 00310912 */\n                FUN_004443d0(&local_78,puVar10);\n                uVar9 = CONCAT71(uStack_77,local_78);\n                uVar11 = gettext(\n                                "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                );\n                    /* try { // try from 0030ffa4 to 0030ffa8 has its CatchHandler @ 0031093c */\n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9);\n                if ((undefined1 *)CONCAT71(uStack_77,local_78) != auStack_68) {\n                  FUN_0049e340();\n                }\n              }\n                    /* try { // try from 0030ffd1 to 0030ffd5 has its CatchHandler @ 00310912 */\n              iVar8 = FUN_0039d3c0(lVar13,uVar21,local_e0,&local_e1);\n              if (iVar8 != 0) {\n                    /* try { // try from 00310544 to 0031057d has its CatchHandler @ 00310912 */\n                lVar15 = FUN_00397ec0(lVar13,iVar8,&local_dc);\n                if (local_dc != 0) {\n                    /* try { // try from 00310725 to 00310745 has its CatchHandler @ 00310912 */\n                  uVar9 = FUN_0039dd50(lVar13);\n                  uVar11 = gettext("  section group signature: \"%s\"");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n                if (lVar15 != 0) {\n                  uVar9 = *(undefined8 *)(lVar15 + 8);\n                  uVar11 = gettext("  prevailing definition is from %s");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n              }\n              iVar8 = 3;\n            }\n            else {\nLAB_00310006:\n              iVar8 = 2;\n            }\n            local_a8 = 0;\n          }\n          if ((int)local_b8 != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310794 to 00310798 has its CatchHandler @ 00310912 */\n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\n          local_b8 = CONCAT44(local_b8._4_4_,0xffffffff);\n          if (local_58[0] != abStack_48) {\n            FUN_0049e340();\n          }\n          puVar22 = &local_b8;\n          if (-1 < (long)local_140) goto LAB_0030fae5;\nLAB_0030fe48:\n          uVar9 = gettext("reloc has bad offset %zu");\n                    /* try { // try from 0030fe68 to 0030fe6c has its CatchHandler @ 00310922 */\n          FUN_0034aed0(param_2,local_148,local_140,uVar9,local_140);\n        }" { (if_statement "if ((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))\n          {\nLAB_0030fa33:\n            iVar7 = *(int *)((long)puVar10 + 0x1c);\n            uVar17 = iVar7 - 1;\n            if (0xfffffffd < uVar17) goto LAB_0030fa42;\nLAB_0030fcf0:\n            if (uVar17 == 0xfffffffd) {\n                    /* WARNING: Subroutine does not return */\n              FUN_00352af0("../../gold/object.h",0x70d,"set_output_symtab_index");\n            }\n            local_d8 = CONCAT44(local_d8._4_4_,iVar7);\n            goto LAB_0030fa4a;\n          }" if (parenthesized_expression "((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))" ( (binary_expression "(param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0)" (parenthesized_expression "(param_11 != (long *)0x0)" ( (binary_expression "param_11 != (long *)0x0" identifier != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0)" ( (comma_expression "puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0" (assignment_expression "puVar10 = *(undefined8 **)(*param_11 + local_148 * 8)" identifier = (pointer_expression "*(undefined8 **)(*param_11 + local_148 * 8)" * (cast_expression "(undefined8 **)(*param_11 + local_148 * 8)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_11 + local_148 * 8)" ( (binary_expression "*param_11 + local_148 * 8" (pointer_expression "*param_11" * identifier) + (binary_expression "local_148 * 8" identifier * number_literal)) ))))) , (binary_expression "puVar10 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\nLAB_0030fa33:\n            iVar7 = *(int *)((long)puVar10 + 0x1c);\n            uVar17 = iVar7 - 1;\n            if (0xfffffffd < uVar17) goto LAB_0030fa42;\nLAB_0030fcf0:\n            if (uVar17 == 0xfffffffd) {\n                    /* WARNING: Subroutine does not return */\n              FUN_00352af0("../../gold/object.h",0x70d,"set_output_symtab_index");\n            }\n            local_d8 = CONCAT44(local_d8._4_4_,iVar7);\n            goto LAB_0030fa4a;\n          }" { (labeled_statement "LAB_0030fa33:\n            iVar7 = *(int *)((long)puVar10 + 0x1c);" statement_identifier : (expression_statement "iVar7 = *(int *)((long)puVar10 + 0x1c);" (assignment_expression "iVar7 = *(int *)((long)puVar10 + 0x1c)" identifier = (pointer_expression "*(int *)((long)puVar10 + 0x1c)" * (cast_expression "(int *)((long)puVar10 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar10 + 0x1c)" ( (binary_expression "(long)puVar10 + 0x1c" (cast_expression "(long)puVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;)) (expression_statement "uVar17 = iVar7 - 1;" (assignment_expression "uVar17 = iVar7 - 1" identifier = (binary_expression "iVar7 - 1" identifier - number_literal)) ;) (if_statement "if (0xfffffffd < uVar17) goto LAB_0030fa42;" if (parenthesized_expression "(0xfffffffd < uVar17)" ( (binary_expression "0xfffffffd < uVar17" number_literal < identifier) )) (goto_statement "goto LAB_0030fa42;" goto statement_identifier ;)) (labeled_statement "LAB_0030fcf0:\n            if (uVar17 == 0xfffffffd) {\n                    /* WARNING: Subroutine does not return */\n              FUN_00352af0("../../gold/object.h",0x70d,"set_output_symtab_index");\n            }" statement_identifier : (if_statement "if (uVar17 == 0xfffffffd) {\n                    /* WARNING: Subroutine does not return */\n              FUN_00352af0("../../gold/object.h",0x70d,"set_output_symtab_index");\n            }" if (parenthesized_expression "(uVar17 == 0xfffffffd)" ( (binary_expression "uVar17 == 0xfffffffd" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              FUN_00352af0("../../gold/object.h",0x70d,"set_output_symtab_index");\n            }" { comment (expression_statement "FUN_00352af0("../../gold/object.h",0x70d,"set_output_symtab_index");" (call_expression "FUN_00352af0("../../gold/object.h",0x70d,"set_output_symtab_index")" identifier (argument_list "("../../gold/object.h",0x70d,"set_output_symtab_index")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""set_output_symtab_index"" " string_content ") ))) ;) }))) (expression_statement "local_d8 = CONCAT44(local_d8._4_4_,iVar7);" (assignment_expression "local_d8 = CONCAT44(local_d8._4_4_,iVar7)" identifier = (call_expression "CONCAT44(local_d8._4_4_,iVar7)" identifier (argument_list "(local_d8._4_4_,iVar7)" ( (field_expression "local_d8._4_4_" identifier . field_identifier) , identifier )))) ;) (goto_statement "goto LAB_0030fa4a;" goto statement_identifier ;) })) (if_statement "if ((ulong)((plVar23[0x2d] - plVar23[0x2c] >> 3) * -0x5555555555555555) <= (ulong)uVar21)\n          {\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/object.h",0x8c1,"local_symbol");\n          }" if (parenthesized_expression "((ulong)((plVar23[0x2d] - plVar23[0x2c] >> 3) * -0x5555555555555555) <= (ulong)uVar21)" ( (binary_expression "(ulong)((plVar23[0x2d] - plVar23[0x2c] >> 3) * -0x5555555555555555) <= (ulong)uVar21" (call_expression "(ulong)((plVar23[0x2d] - plVar23[0x2c] >> 3) * -0x5555555555555555)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((plVar23[0x2d] - plVar23[0x2c] >> 3) * -0x5555555555555555)" ( (binary_expression "(plVar23[0x2d] - plVar23[0x2c] >> 3) * -0x5555555555555555" (parenthesized_expression "(plVar23[0x2d] - plVar23[0x2c] >> 3)" ( (binary_expression "plVar23[0x2d] - plVar23[0x2c] >> 3" (binary_expression "plVar23[0x2d] - plVar23[0x2c]" (subscript_expression "plVar23[0x2d]" identifier [ number_literal ]) - (subscript_expression "plVar23[0x2c]" identifier [ number_literal ])) >> number_literal) )) * number_literal) ))) <= (cast_expression "(ulong)uVar21" ( (type_descriptor "ulong" type_identifier) ) identifier)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/object.h",0x8c1,"local_symbol");\n          }" { comment (expression_statement "FUN_00352af0("../../gold/object.h",0x8c1,"local_symbol");" (call_expression "FUN_00352af0("../../gold/object.h",0x8c1,"local_symbol")" identifier (argument_list "("../../gold/object.h",0x8c1,"local_symbol")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""local_symbol"" " string_content ") ))) ;) })) (expression_statement "puVar22 = (undefined8 *)(plVar23[0x2c] + (ulong)uVar21 * 0x18);" (assignment_expression "puVar22 = (undefined8 *)(plVar23[0x2c] + (ulong)uVar21 * 0x18)" identifier = (cast_expression "(undefined8 *)(plVar23[0x2c] + (ulong)uVar21 * 0x18)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar23[0x2c] + (ulong)uVar21 * 0x18)" ( (binary_expression "plVar23[0x2c] + (ulong)uVar21 * 0x18" (subscript_expression "plVar23[0x2c]" identifier [ number_literal ]) + (binary_expression "(ulong)uVar21 * 0x18" (cast_expression "(ulong)uVar21" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) )))) ;) (expression_statement "uVar1 = *(uint *)(puVar22 + 1);" (assignment_expression "uVar1 = *(uint *)(puVar22 + 1)" identifier = (pointer_expression "*(uint *)(puVar22 + 1)" * (cast_expression "(uint *)(puVar22 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + 1)" ( (binary_expression "puVar22 + 1" identifier + number_literal) ))))) ;) (expression_statement "uVar6 = uVar1 & 0x7ffffff;" (assignment_expression "uVar6 = uVar1 & 0x7ffffff" identifier = (binary_expression "uVar1 & 0x7ffffff" identifier & number_literal)) ;) (expression_statement "uVar17 = uVar1 & 0x7ffffff;" (assignment_expression "uVar17 = uVar1 & 0x7ffffff" identifier = (binary_expression "uVar1 & 0x7ffffff" identifier & number_literal)) ;) (if_statement "if (((*(byte *)((long)puVar22 + 0xb) & 8) == 0) || (uVar6 == 0)) {\nLAB_0030fbb3:\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }" if (parenthesized_expression "(((*(byte *)((long)puVar22 + 0xb) & 8) == 0) || (uVar6 == 0))" ( (binary_expression "((*(byte *)((long)puVar22 + 0xb) & 8) == 0) || (uVar6 == 0)" (parenthesized_expression "((*(byte *)((long)puVar22 + 0xb) & 8) == 0)" ( (binary_expression "(*(byte *)((long)puVar22 + 0xb) & 8) == 0" (parenthesized_expression "(*(byte *)((long)puVar22 + 0xb) & 8)" ( (binary_expression "*(byte *)((long)puVar22 + 0xb) & 8" (pointer_expression "*(byte *)((long)puVar22 + 0xb)" * (cast_expression "(byte *)((long)puVar22 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar22 + 0xb)" ( (binary_expression "(long)puVar22 + 0xb" (cast_expression "(long)puVar22" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) || (parenthesized_expression "(uVar6 == 0)" ( (binary_expression "uVar6 == 0" identifier == number_literal) ))) )) (compound_statement "{\nLAB_0030fbb3:\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }" { (labeled_statement "LAB_0030fbb3:\n            puVar10 = (undefined8 *)0x0;" statement_identifier : (expression_statement "puVar10 = (undefined8 *)0x0;" (assignment_expression "puVar10 = (undefined8 *)0x0" identifier = (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (goto_statement "goto LAB_0030faa5;" goto statement_identifier ;) })) (if_statement "if ((ulong)(plVar23[0xb] - plVar23[10] >> 3) <= (ulong)uVar6) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310860 to 00310864 has its CatchHandler @ 0031092a */\n            FUN_00352af0("../../gold/object.h",0x50b,"is_section_included");\n          }" if (parenthesized_expression "((ulong)(plVar23[0xb] - plVar23[10] >> 3) <= (ulong)uVar6)" ( (binary_expression "(ulong)(plVar23[0xb] - plVar23[10] >> 3) <= (ulong)uVar6" (call_expression "(ulong)(plVar23[0xb] - plVar23[10] >> 3)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(plVar23[0xb] - plVar23[10] >> 3)" ( (binary_expression "plVar23[0xb] - plVar23[10] >> 3" (binary_expression "plVar23[0xb] - plVar23[10]" (subscript_expression "plVar23[0xb]" identifier [ number_literal ]) - (subscript_expression "plVar23[10]" identifier [ number_literal ])) >> number_literal) ))) <= (cast_expression "(ulong)uVar6" ( (type_descriptor "ulong" type_identifier) ) identifier)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310860 to 00310864 has its CatchHandler @ 0031092a */\n            FUN_00352af0("../../gold/object.h",0x50b,"is_section_included");\n          }" { comment comment (expression_statement "FUN_00352af0("../../gold/object.h",0x50b,"is_section_included");" (call_expression "FUN_00352af0("../../gold/object.h",0x50b,"is_section_included")" identifier (argument_list "("../../gold/object.h",0x50b,"is_section_included")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""is_section_included"" " string_content ") ))) ;) })) (if_statement "if (*(long *)(plVar23[10] + (ulong)uVar6 * 8) != 0) goto LAB_0030fbb3;" if (parenthesized_expression "(*(long *)(plVar23[10] + (ulong)uVar6 * 8) != 0)" ( (binary_expression "*(long *)(plVar23[10] + (ulong)uVar6 * 8) != 0" (pointer_expression "*(long *)(plVar23[10] + (ulong)uVar6 * 8)" * (cast_expression "(long *)(plVar23[10] + (ulong)uVar6 * 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar23[10] + (ulong)uVar6 * 8)" ( (binary_expression "plVar23[10] + (ulong)uVar6 * 8" (subscript_expression "plVar23[10]" identifier [ number_literal ]) + (binary_expression "(ulong)uVar6 * 8" (cast_expression "(ulong)uVar6" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) )))) != number_literal) )) (goto_statement "goto LAB_0030fbb3;" goto statement_identifier ;)) (expression_statement "cVar4 = FUN_00443530(*param_2,plVar23,uVar1 & 0x7ffffff);" (assignment_expression "cVar4 = FUN_00443530(*param_2,plVar23,uVar1 & 0x7ffffff)" identifier = (call_expression "FUN_00443530(*param_2,plVar23,uVar1 & 0x7ffffff)" identifier (argument_list "(*param_2,plVar23,uVar1 & 0x7ffffff)" ( (pointer_expression "*param_2" * identifier) , identifier , (binary_expression "uVar1 & 0x7ffffff" identifier & number_literal) )))) ;) (expression_statement "puVar10 = (undefined8 *)0x0;" (assignment_expression "puVar10 = (undefined8 *)0x0" identifier = (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (cVar4 != '\0') {\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }" if (parenthesized_expression "(cVar4 != '\0')" ( (binary_expression "cVar4 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }" { (expression_statement "puVar10 = (undefined8 *)0x0;" (assignment_expression "puVar10 = (undefined8 *)0x0" identifier = (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_0030faa5;" goto statement_identifier ;) })) (labeled_statement "LAB_0030fd25:\n          local_b0 = 0x80000000;" statement_identifier : (expression_statement "local_b0 = 0x80000000;" (assignment_expression "local_b0 = 0x80000000" identifier = number_literal) ;)) (expression_statement "local_b8 = 0xffffffff00000000;" (assignment_expression "local_b8 = 0xffffffff00000000" identifier = number_literal) ;) (expression_statement "local_a8 = 0;" (assignment_expression "local_a8 = 0" identifier = number_literal) ;) (if_statement "if (*(code **)(*plVar23 + 0x80) == FUN_0022c990) {\n                    /* try { // try from 0030fd86 to 0030fd8a has its CatchHandler @ 00310922 */\n            FUN_0022c800(local_58,plVar23 + 0x1f);\n          }\n          else {\n                    /* try { // try from 00310038 to 00310039 has its CatchHandler @ 00310922 */\n            (**(code **)(*plVar23 + 0x80))(local_58,plVar23,(int)param_2[6]);\n          }" if (parenthesized_expression "(*(code **)(*plVar23 + 0x80) == FUN_0022c990)" ( (binary_expression "*(code **)(*plVar23 + 0x80) == FUN_0022c990" (pointer_expression "*(code **)(*plVar23 + 0x80)" * (cast_expression "(code **)(*plVar23 + 0x80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar23 + 0x80)" ( (binary_expression "*plVar23 + 0x80" (pointer_expression "*plVar23" * identifier) + number_literal) )))) == identifier) )) (compound_statement "{\n                    /* try { // try from 0030fd86 to 0030fd8a has its CatchHandler @ 00310922 */\n            FUN_0022c800(local_58,plVar23 + 0x1f);\n          }" { comment (expression_statement "FUN_0022c800(local_58,plVar23 + 0x1f);" (call_expression "FUN_0022c800(local_58,plVar23 + 0x1f)" identifier (argument_list "(local_58,plVar23 + 0x1f)" ( identifier , (binary_expression "plVar23 + 0x1f" identifier + number_literal) ))) ;) }) (else_clause "else {\n                    /* try { // try from 00310038 to 00310039 has its CatchHandler @ 00310922 */\n            (**(code **)(*plVar23 + 0x80))(local_58,plVar23,(int)param_2[6]);\n          }" else (compound_statement "{\n                    /* try { // try from 00310038 to 00310039 has its CatchHandler @ 00310922 */\n            (**(code **)(*plVar23 + 0x80))(local_58,plVar23,(int)param_2[6]);\n          }" { comment (expression_statement "(**(code **)(*plVar23 + 0x80))(local_58,plVar23,(int)param_2[6]);" (call_expression "(**(code **)(*plVar23 + 0x80))(local_58,plVar23,(int)param_2[6])" (parenthesized_expression "(**(code **)(*plVar23 + 0x80))" ( (pointer_expression "**(code **)(*plVar23 + 0x80)" * (pointer_expression "*(code **)(*plVar23 + 0x80)" * (cast_expression "(code **)(*plVar23 + 0x80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar23 + 0x80)" ( (binary_expression "*plVar23 + 0x80" (pointer_expression "*plVar23" * identifier) + number_literal) ))))) )) (argument_list "(local_58,plVar23,(int)param_2[6])" ( identifier , identifier , (cast_expression "(int)param_2[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_2[6]" identifier [ number_literal ])) ))) ;) }))) (expression_statement "bVar24 = false;" (assignment_expression "bVar24 = false" identifier = false) ;) (expression_statement "bVar26 = iVar8 == 0;" (assignment_expression "bVar26 = iVar8 == 0" identifier = (binary_expression "iVar8 == 0" identifier == number_literal)) ;) (if_statement "if (bVar26) {\n            lVar13 = 6;\n            pbVar18 = local_58[0];\n            pbVar19 = &DAT_00533552;\n            do {\n              if (lVar13 == 0) break;\n              lVar13 = lVar13 + -1;\n              bVar24 = *pbVar18 < *pbVar19;\n              bVar26 = *pbVar18 == *pbVar19;\n              pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n              pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n            } while (bVar26);\n            bVar25 = false;\n            bVar24 = (!bVar24 && !bVar26) == bVar24;\n            if (!bVar24) {\n              lVar13 = 7;\n              pbVar18 = local_58[0];\n              pbVar19 = (byte *)".zdebug";\n              do {\n                if (lVar13 == 0) break;\n                lVar13 = lVar13 + -1;\n                bVar25 = *pbVar18 < *pbVar19;\n                bVar24 = *pbVar18 == *pbVar19;\n                pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar13 = 0x11;\n                pbVar18 = local_58[0];\n                pbVar19 = (byte *)".gnu.linkonce.wi.";\n                do {\n                  if (lVar13 == 0) break;\n                  lVar13 = lVar13 + -1;\n                  bVar26 = *pbVar18 < *pbVar19;\n                  bVar24 = *pbVar18 == *pbVar19;\n                  pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  lVar13 = 5;\n                  pbVar18 = local_58[0];\n                  pbVar19 = (byte *)".line";\n                  do {\n                    if (lVar13 == 0) break;\n                    lVar13 = lVar13 + -1;\n                    bVar25 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    lVar13 = 5;\n                    pbVar18 = local_58[0];\n                    pbVar19 = (byte *)".stab";\n                    do {\n                      if (lVar13 == 0) break;\n                      lVar13 = lVar13 + -1;\n                      bVar26 = *pbVar18 < *pbVar19;\n                      bVar24 = *pbVar18 == *pbVar19;\n                      pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                      pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      lVar13 = 4;\n                      pbVar18 = local_58[0];\n                      pbVar19 = &DAT_0053357f;\n                      do {\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0030fdc0:\n                    /* try { // try from 0030fdd2 to 0030fdd6 has its CatchHandler @ 00310912 */\n            iVar8 = FUN_00397c50(plVar23,uVar17,local_58,&local_78);\n            local_a8 = 0;\n            if (local_78 != '\0') {\n              local_a8 = iVar8 + *(int *)(puVar22 + 2);\n            }\n            iVar8 = 1;\n          }\n          else {\n            if (iVar8 == 1) goto LAB_0030fdc0;\n            if (iVar8 == 3) {\nLAB_0030ff50:\n              lVar13 = param_2[2];\n              if (puVar10 == (undefined8 *)0x0) {\n                    /* try { // try from 003105ee to 0031061d has its CatchHandler @ 00310912 */\n                uVar9 = FUN_0039dd50(lVar13,uVar21);\n                uVar11 = gettext(\n                                "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                );\n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9,uVar21);\n              }\n              else {\n                    /* try { // try from 0030ff70 to 0030ff74 has its CatchHandler @ 00310912 */\n                FUN_004443d0(&local_78,puVar10);\n                uVar9 = CONCAT71(uStack_77,local_78);\n                uVar11 = gettext(\n                                "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                );\n                    /* try { // try from 0030ffa4 to 0030ffa8 has its CatchHandler @ 0031093c */\n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9);\n                if ((undefined1 *)CONCAT71(uStack_77,local_78) != auStack_68) {\n                  FUN_0049e340();\n                }\n              }\n                    /* try { // try from 0030ffd1 to 0030ffd5 has its CatchHandler @ 00310912 */\n              iVar8 = FUN_0039d3c0(lVar13,uVar21,local_e0,&local_e1);\n              if (iVar8 != 0) {\n                    /* try { // try from 00310544 to 0031057d has its CatchHandler @ 00310912 */\n                lVar15 = FUN_00397ec0(lVar13,iVar8,&local_dc);\n                if (local_dc != 0) {\n                    /* try { // try from 00310725 to 00310745 has its CatchHandler @ 00310912 */\n                  uVar9 = FUN_0039dd50(lVar13);\n                  uVar11 = gettext("  section group signature: \"%s\"");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n                if (lVar15 != 0) {\n                  uVar9 = *(undefined8 *)(lVar15 + 8);\n                  uVar11 = gettext("  prevailing definition is from %s");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n              }\n              iVar8 = 3;\n            }\n            else {\nLAB_00310006:\n              iVar8 = 2;\n            }\n            local_a8 = 0;\n          }" if (parenthesized_expression "(bVar26)" ( identifier )) (compound_statement "{\n            lVar13 = 6;\n            pbVar18 = local_58[0];\n            pbVar19 = &DAT_00533552;\n            do {\n              if (lVar13 == 0) break;\n              lVar13 = lVar13 + -1;\n              bVar24 = *pbVar18 < *pbVar19;\n              bVar26 = *pbVar18 == *pbVar19;\n              pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n              pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n            } while (bVar26);\n            bVar25 = false;\n            bVar24 = (!bVar24 && !bVar26) == bVar24;\n            if (!bVar24) {\n              lVar13 = 7;\n              pbVar18 = local_58[0];\n              pbVar19 = (byte *)".zdebug";\n              do {\n                if (lVar13 == 0) break;\n                lVar13 = lVar13 + -1;\n                bVar25 = *pbVar18 < *pbVar19;\n                bVar24 = *pbVar18 == *pbVar19;\n                pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar13 = 0x11;\n                pbVar18 = local_58[0];\n                pbVar19 = (byte *)".gnu.linkonce.wi.";\n                do {\n                  if (lVar13 == 0) break;\n                  lVar13 = lVar13 + -1;\n                  bVar26 = *pbVar18 < *pbVar19;\n                  bVar24 = *pbVar18 == *pbVar19;\n                  pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  lVar13 = 5;\n                  pbVar18 = local_58[0];\n                  pbVar19 = (byte *)".line";\n                  do {\n                    if (lVar13 == 0) break;\n                    lVar13 = lVar13 + -1;\n                    bVar25 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    lVar13 = 5;\n                    pbVar18 = local_58[0];\n                    pbVar19 = (byte *)".stab";\n                    do {\n                      if (lVar13 == 0) break;\n                      lVar13 = lVar13 + -1;\n                      bVar26 = *pbVar18 < *pbVar19;\n                      bVar24 = *pbVar18 == *pbVar19;\n                      pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                      pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      lVar13 = 4;\n                      pbVar18 = local_58[0];\n                      pbVar19 = &DAT_0053357f;\n                      do {\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0030fdc0:\n                    /* try { // try from 0030fdd2 to 0030fdd6 has its CatchHandler @ 00310912 */\n            iVar8 = FUN_00397c50(plVar23,uVar17,local_58,&local_78);\n            local_a8 = 0;\n            if (local_78 != '\0') {\n              local_a8 = iVar8 + *(int *)(puVar22 + 2);\n            }\n            iVar8 = 1;\n          }" { (expression_statement "lVar13 = 6;" (assignment_expression "lVar13 = 6" identifier = number_literal) ;) (expression_statement "pbVar18 = local_58[0];" (assignment_expression "pbVar18 = local_58[0]" identifier = (subscript_expression "local_58[0]" identifier [ number_literal ])) ;) (expression_statement "pbVar19 = &DAT_00533552;" (assignment_expression "pbVar19 = &DAT_00533552" identifier = (pointer_expression "&DAT_00533552" & identifier)) ;) (do_statement "do {\n              if (lVar13 == 0) break;\n              lVar13 = lVar13 + -1;\n              bVar24 = *pbVar18 < *pbVar19;\n              bVar26 = *pbVar18 == *pbVar19;\n              pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n              pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n            } while (bVar26);" do (compound_statement "{\n              if (lVar13 == 0) break;\n              lVar13 = lVar13 + -1;\n              bVar24 = *pbVar18 < *pbVar19;\n              bVar26 = *pbVar18 == *pbVar19;\n              pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n              pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n            }" { (if_statement "if (lVar13 == 0) break;" if (parenthesized_expression "(lVar13 == 0)" ( (binary_expression "lVar13 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar13 = lVar13 + -1;" (assignment_expression "lVar13 = lVar13 + -1" identifier = (binary_expression "lVar13 + -1" identifier + number_literal)) ;) (expression_statement "bVar24 = *pbVar18 < *pbVar19;" (assignment_expression "bVar24 = *pbVar18 < *pbVar19" identifier = (binary_expression "*pbVar18 < *pbVar19" (pointer_expression "*pbVar18" * identifier) < (pointer_expression "*pbVar19" * identifier))) ;) (expression_statement "bVar26 = *pbVar18 == *pbVar19;" (assignment_expression "bVar26 = *pbVar18 == *pbVar19" identifier = (binary_expression "*pbVar18 == *pbVar19" (pointer_expression "*pbVar18" * identifier) == (pointer_expression "*pbVar19" * identifier))) ;) (expression_statement "pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1" identifier = (binary_expression "pbVar18 + (ulong)bVar27 * -2 + 1" (binary_expression "pbVar18 + (ulong)bVar27 * -2" identifier + (binary_expression "(ulong)bVar27 * -2" (cast_expression "(ulong)bVar27" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;" (assignment_expression "pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1" identifier = (binary_expression "pbVar19 + (ulong)bVar27 * -2 + 1" (binary_expression "pbVar19 + (ulong)bVar27 * -2" identifier + (binary_expression "(ulong)bVar27 * -2" (cast_expression "(ulong)bVar27" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar26)" ( identifier )) ;) (expression_statement "bVar25 = false;" (assignment_expression "bVar25 = false" identifier = false) ;) (expression_statement "bVar24 = (!bVar24 && !bVar26) == bVar24;" (assignment_expression "bVar24 = (!bVar24 && !bVar26) == bVar24" identifier = (binary_expression "(!bVar24 && !bVar26) == bVar24" (parenthesized_expression "(!bVar24 && !bVar26)" ( (binary_expression "!bVar24 && !bVar26" (unary_expression "!bVar24" ! identifier) && (unary_expression "!bVar26" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar24) {\n              lVar13 = 7;\n              pbVar18 = local_58[0];\n              pbVar19 = (byte *)".zdebug";\n              do {\n                if (lVar13 == 0) break;\n                lVar13 = lVar13 + -1;\n                bVar25 = *pbVar18 < *pbVar19;\n                bVar24 = *pbVar18 == *pbVar19;\n                pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar13 = 0x11;\n                pbVar18 = local_58[0];\n                pbVar19 = (byte *)".gnu.linkonce.wi.";\n                do {\n                  if (lVar13 == 0) break;\n                  lVar13 = lVar13 + -1;\n                  bVar26 = *pbVar18 < *pbVar19;\n                  bVar24 = *pbVar18 == *pbVar19;\n                  pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  lVar13 = 5;\n                  pbVar18 = local_58[0];\n                  pbVar19 = (byte *)".line";\n                  do {\n                    if (lVar13 == 0) break;\n                    lVar13 = lVar13 + -1;\n                    bVar25 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    lVar13 = 5;\n                    pbVar18 = local_58[0];\n                    pbVar19 = (byte *)".stab";\n                    do {\n                      if (lVar13 == 0) break;\n                      lVar13 = lVar13 + -1;\n                      bVar26 = *pbVar18 < *pbVar19;\n                      bVar24 = *pbVar18 == *pbVar19;\n                      pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                      pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      lVar13 = 4;\n                      pbVar18 = local_58[0];\n                      pbVar19 = &DAT_0053357f;\n                      do {\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }\n                }\n              }\n            }" if (parenthesized_expression "(!bVar24)" ( (unary_expression "!bVar24" ! identifier) )) (compound_statement "{\n              lVar13 = 7;\n              pbVar18 = local_58[0];\n              pbVar19 = (byte *)".zdebug";\n              do {\n                if (lVar13 == 0) break;\n                lVar13 = lVar13 + -1;\n                bVar25 = *pbVar18 < *pbVar19;\n                bVar24 = *pbVar18 == *pbVar19;\n                pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar13 = 0x11;\n                pbVar18 = local_58[0];\n                pbVar19 = (byte *)".gnu.linkonce.wi.";\n                do {\n                  if (lVar13 == 0) break;\n                  lVar13 = lVar13 + -1;\n                  bVar26 = *pbVar18 < *pbVar19;\n                  bVar24 = *pbVar18 == *pbVar19;\n                  pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  lVar13 = 5;\n                  pbVar18 = local_58[0];\n                  pbVar19 = (byte *)".line";\n                  do {\n                    if (lVar13 == 0) break;\n                    lVar13 = lVar13 + -1;\n                    bVar25 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    lVar13 = 5;\n                    pbVar18 = local_58[0];\n                    pbVar19 = (byte *)".stab";\n                    do {\n                      if (lVar13 == 0) break;\n                      lVar13 = lVar13 + -1;\n                      bVar26 = *pbVar18 < *pbVar19;\n                      bVar24 = *pbVar18 == *pbVar19;\n                      pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                      pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      lVar13 = 4;\n                      pbVar18 = local_58[0];\n                      pbVar19 = &DAT_0053357f;\n                      do {\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }\n                }\n              }\n            }" { (expression_statement "lVar13 = 7;" (assignment_expression "lVar13 = 7" identifier = number_literal) ;) (expression_statement "pbVar18 = local_58[0];" (assignment_expression "pbVar18 = local_58[0]" identifier = (subscript_expression "local_58[0]" identifier [ number_literal ])) ;) (expression_statement "pbVar19 = (byte *)".zdebug";" (assignment_expression "pbVar19 = (byte *)".zdebug"" identifier = (cast_expression "(byte *)".zdebug"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".zdebug"" " string_content "))) ;) (do_statement "do {\n                if (lVar13 == 0) break;\n                lVar13 = lVar13 + -1;\n                bVar25 = *pbVar18 < *pbVar19;\n                bVar24 = *pbVar18 == *pbVar19;\n                pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);" do (compound_statement "{\n                if (lVar13 == 0) break;\n                lVar13 = lVar13 + -1;\n                bVar25 = *pbVar18 < *pbVar19;\n                bVar24 = *pbVar18 == *pbVar19;\n                pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n              }" { (if_statement "if (lVar13 == 0) break;" if (parenthesized_expression "(lVar13 == 0)" ( (binary_expression "lVar13 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar13 = lVar13 + -1;" (assignment_expression "lVar13 = lVar13 + -1" identifier = (binary_expression "lVar13 + -1" identifier + number_literal)) ;) (expression_statement "bVar25 = *pbVar18 < *pbVar19;" (assignment_expression "bVar25 = *pbVar18 < *pbVar19" identifier = (binary_expression "*pbVar18 < *pbVar19" (pointer_expression "*pbVar18" * identifier) < (pointer_expression "*pbVar19" * identifier))) ;) (expression_statement "bVar24 = *pbVar18 == *pbVar19;" (assignment_expression "bVar24 = *pbVar18 == *pbVar19" identifier = (binary_expression "*pbVar18 == *pbVar19" (pointer_expression "*pbVar18" * identifier) == (pointer_expression "*pbVar19" * identifier))) ;) (expression_statement "pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1" identifier = (binary_expression "pbVar18 + (ulong)bVar27 * -2 + 1" (binary_expression "pbVar18 + (ulong)bVar27 * -2" identifier + (binary_expression "(ulong)bVar27 * -2" (cast_expression "(ulong)bVar27" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;" (assignment_expression "pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1" identifier = (binary_expression "pbVar19 + (ulong)bVar27 * -2 + 1" (binary_expression "pbVar19 + (ulong)bVar27 * -2" identifier + (binary_expression "(ulong)bVar27 * -2" (cast_expression "(ulong)bVar27" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar24)" ( identifier )) ;) (expression_statement "bVar26 = false;" (assignment_expression "bVar26 = false" identifier = false) ;) (expression_statement "bVar24 = (!bVar25 && !bVar24) == bVar25;" (assignment_expression "bVar24 = (!bVar25 && !bVar24) == bVar25" identifier = (binary_expression "(!bVar25 && !bVar24) == bVar25" (parenthesized_expression "(!bVar25 && !bVar24)" ( (binary_expression "!bVar25 && !bVar24" (unary_expression "!bVar25" ! identifier) && (unary_expression "!bVar24" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar24) {\n                lVar13 = 0x11;\n                pbVar18 = local_58[0];\n                pbVar19 = (byte *)".gnu.linkonce.wi.";\n                do {\n                  if (lVar13 == 0) break;\n                  lVar13 = lVar13 + -1;\n                  bVar26 = *pbVar18 < *pbVar19;\n                  bVar24 = *pbVar18 == *pbVar19;\n                  pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  lVar13 = 5;\n                  pbVar18 = local_58[0];\n                  pbVar19 = (byte *)".line";\n                  do {\n                    if (lVar13 == 0) break;\n                    lVar13 = lVar13 + -1;\n                    bVar25 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    lVar13 = 5;\n                    pbVar18 = local_58[0];\n                    pbVar19 = (byte *)".stab";\n                    do {\n                      if (lVar13 == 0) break;\n                      lVar13 = lVar13 + -1;\n                      bVar26 = *pbVar18 < *pbVar19;\n                      bVar24 = *pbVar18 == *pbVar19;\n                      pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                      pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      lVar13 = 4;\n                      pbVar18 = local_58[0];\n                      pbVar19 = &DAT_0053357f;\n                      do {\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }\n                }\n              }" if (parenthesized_expression "(!bVar24)" ( (unary_expression "!bVar24" ! identifier) )) (compound_statement "{\n                lVar13 = 0x11;\n                pbVar18 = local_58[0];\n                pbVar19 = (byte *)".gnu.linkonce.wi.";\n                do {\n                  if (lVar13 == 0) break;\n                  lVar13 = lVar13 + -1;\n                  bVar26 = *pbVar18 < *pbVar19;\n                  bVar24 = *pbVar18 == *pbVar19;\n                  pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  lVar13 = 5;\n                  pbVar18 = local_58[0];\n                  pbVar19 = (byte *)".line";\n                  do {\n                    if (lVar13 == 0) break;\n                    lVar13 = lVar13 + -1;\n                    bVar25 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    lVar13 = 5;\n                    pbVar18 = local_58[0];\n                    pbVar19 = (byte *)".stab";\n                    do {\n                      if (lVar13 == 0) break;\n                      lVar13 = lVar13 + -1;\n                      bVar26 = *pbVar18 < *pbVar19;\n                      bVar24 = *pbVar18 == *pbVar19;\n                      pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                      pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      lVar13 = 4;\n                      pbVar18 = local_58[0];\n                      pbVar19 = &DAT_0053357f;\n                      do {\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }\n                }\n              }" { (expression_statement "lVar13 = 0x11;" (assignment_expression "lVar13 = 0x11" identifier = number_literal) ;) (expression_statement "pbVar18 = local_58[0];" (assignment_expression "pbVar18 = local_58[0]" identifier = (subscript_expression "local_58[0]" identifier [ number_literal ])) ;) (expression_statement "pbVar19 = (byte *)".gnu.linkonce.wi.";" (assignment_expression "pbVar19 = (byte *)".gnu.linkonce.wi."" identifier = (cast_expression "(byte *)".gnu.linkonce.wi."" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".gnu.linkonce.wi."" " string_content "))) ;) (do_statement "do {\n                  if (lVar13 == 0) break;\n                  lVar13 = lVar13 + -1;\n                  bVar26 = *pbVar18 < *pbVar19;\n                  bVar24 = *pbVar18 == *pbVar19;\n                  pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);" do (compound_statement "{\n                  if (lVar13 == 0) break;\n                  lVar13 = lVar13 + -1;\n                  bVar26 = *pbVar18 < *pbVar19;\n                  bVar24 = *pbVar18 == *pbVar19;\n                  pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                }" { (if_statement "if (lVar13 == 0) break;" if (parenthesized_expression "(lVar13 == 0)" ( (binary_expression "lVar13 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar13 = lVar13 + -1;" (assignment_expression "lVar13 = lVar13 + -1" identifier = (binary_expression "lVar13 + -1" identifier + number_literal)) ;) (expression_statement "bVar26 = *pbVar18 < *pbVar19;" (assignment_expression "bVar26 = *pbVar18 < *pbVar19" identifier = (binary_expression "*pbVar18 < *pbVar19" (pointer_expression "*pbVar18" * identifier) < (pointer_expression "*pbVar19" * identifier))) ;) (expression_statement "bVar24 = *pbVar18 == *pbVar19;" (assignment_expression "bVar24 = *pbVar18 == *pbVar19" identifier = (binary_expression "*pbVar18 == *pbVar19" (pointer_expression "*pbVar18" * identifier) == (pointer_expression "*pbVar19" * identifier))) ;) (expression_statement "pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1" identifier = (binary_expression "pbVar18 + (ulong)bVar27 * -2 + 1" (binary_expression "pbVar18 + (ulong)bVar27 * -2" identifier + (binary_expression "(ulong)bVar27 * -2" (cast_expression "(ulong)bVar27" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;" (assignment_expression "pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1" identifier = (binary_expression "pbVar19 + (ulong)bVar27 * -2 + 1" (binary_expression "pbVar19 + (ulong)bVar27 * -2" identifier + (binary_expression "(ulong)bVar27 * -2" (cast_expression "(ulong)bVar27" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar24)" ( identifier )) ;) (expression_statement "bVar25 = false;" (assignment_expression "bVar25 = false" identifier = false) ;) (expression_statement "bVar24 = (!bVar26 && !bVar24) == bVar26;" (assignment_expression "bVar24 = (!bVar26 && !bVar24) == bVar26" identifier = (binary_expression "(!bVar26 && !bVar24) == bVar26" (parenthesized_expression "(!bVar26 && !bVar24)" ( (binary_expression "!bVar26 && !bVar24" (unary_expression "!bVar26" ! identifier) && (unary_expression "!bVar24" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar24) {\n                  lVar13 = 5;\n                  pbVar18 = local_58[0];\n                  pbVar19 = (byte *)".line";\n                  do {\n                    if (lVar13 == 0) break;\n                    lVar13 = lVar13 + -1;\n                    bVar25 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    lVar13 = 5;\n                    pbVar18 = local_58[0];\n                    pbVar19 = (byte *)".stab";\n                    do {\n                      if (lVar13 == 0) break;\n                      lVar13 = lVar13 + -1;\n                      bVar26 = *pbVar18 < *pbVar19;\n                      bVar24 = *pbVar18 == *pbVar19;\n                      pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                      pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      lVar13 = 4;\n                      pbVar18 = local_58[0];\n                      pbVar19 = &DAT_0053357f;\n                      do {\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }\n                }" if (parenthesized_expression "(!bVar24)" ( (unary_expression "!bVar24" ! identifier) )) (compound_statement "{\n                  lVar13 = 5;\n                  pbVar18 = local_58[0];\n                  pbVar19 = (byte *)".line";\n                  do {\n                    if (lVar13 == 0) break;\n                    lVar13 = lVar13 + -1;\n                    bVar25 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    lVar13 = 5;\n                    pbVar18 = local_58[0];\n                    pbVar19 = (byte *)".stab";\n                    do {\n                      if (lVar13 == 0) break;\n                      lVar13 = lVar13 + -1;\n                      bVar26 = *pbVar18 < *pbVar19;\n                      bVar24 = *pbVar18 == *pbVar19;\n                      pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                      pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      lVar13 = 4;\n                      pbVar18 = local_58[0];\n                      pbVar19 = &DAT_0053357f;\n                      do {\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }\n                }" { (expression_statement "lVar13 = 5;" (assignment_expression "lVar13 = 5" identifier = number_literal) ;) (expression_statement "pbVar18 = local_58[0];" (assignment_expression "pbVar18 = local_58[0]" identifier = (subscript_expression "local_58[0]" identifier [ number_literal ])) ;) (expression_statement "pbVar19 = (byte *)".line";" (assignment_expression "pbVar19 = (byte *)".line"" identifier = (cast_expression "(byte *)".line"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".line"" " string_content "))) ;) (do_statement "do {\n                    if (lVar13 == 0) break;\n                    lVar13 = lVar13 + -1;\n                    bVar25 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);" do (compound_statement "{\n                    if (lVar13 == 0) break;\n                    lVar13 = lVar13 + -1;\n                    bVar25 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  }" { (if_statement "if (lVar13 == 0) break;" if (parenthesized_expression "(lVar13 == 0)" ( (binary_expression "lVar13 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar13 = lVar13 + -1;" (assignment_expression "lVar13 = lVar13 + -1" identifier = (binary_expression "lVar13 + -1" identifier + number_literal)) ;) (expression_statement "bVar25 = *pbVar18 < *pbVar19;" (assignment_expression "bVar25 = *pbVar18 < *pbVar19" identifier = (binary_expression "*pbVar18 < *pbVar19" (pointer_expression "*pbVar18" * identifier) < (pointer_expression "*pbVar19" * identifier))) ;) (expression_statement "bVar24 = *pbVar18 == *pbVar19;" (assignment_expression "bVar24 = *pbVar18 == *pbVar19" identifier = (binary_expression "*pbVar18 == *pbVar19" (pointer_expression "*pbVar18" * identifier) == (pointer_expression "*pbVar19" * identifier))) ;) (expression_statement "pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1" identifier = (binary_expression "pbVar18 + (ulong)bVar27 * -2 + 1" (binary_expression "pbVar18 + (ulong)bVar27 * -2" identifier + (binary_expression "(ulong)bVar27 * -2" (cast_expression "(ulong)bVar27" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;" (assignment_expression "pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1" identifier = (binary_expression "pbVar19 + (ulong)bVar27 * -2 + 1" (binary_expression "pbVar19 + (ulong)bVar27 * -2" identifier + (binary_expression "(ulong)bVar27 * -2" (cast_expression "(ulong)bVar27" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar24)" ( identifier )) ;) (expression_statement "bVar26 = false;" (assignment_expression "bVar26 = false" identifier = false) ;) (expression_statement "bVar24 = (!bVar25 && !bVar24) == bVar25;" (assignment_expression "bVar24 = (!bVar25 && !bVar24) == bVar25" identifier = (binary_expression "(!bVar25 && !bVar24) == bVar25" (parenthesized_expression "(!bVar25 && !bVar24)" ( (binary_expression "!bVar25 && !bVar24" (unary_expression "!bVar25" ! identifier) && (unary_expression "!bVar24" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar24) {\n                    lVar13 = 5;\n                    pbVar18 = local_58[0];\n                    pbVar19 = (byte *)".stab";\n                    do {\n                      if (lVar13 == 0) break;\n                      lVar13 = lVar13 + -1;\n                      bVar26 = *pbVar18 < *pbVar19;\n                      bVar24 = *pbVar18 == *pbVar19;\n                      pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                      pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      lVar13 = 4;\n                      pbVar18 = local_58[0];\n                      pbVar19 = &DAT_0053357f;\n                      do {\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }" if (parenthesized_expression "(!bVar24)" ( (unary_expression "!bVar24" ! identifier) )) (compound_statement "{\n                    lVar13 = 5;\n                    pbVar18 = local_58[0];\n                    pbVar19 = (byte *)".stab";\n                    do {\n                      if (lVar13 == 0) break;\n                      lVar13 = lVar13 + -1;\n                      bVar26 = *pbVar18 < *pbVar19;\n                      bVar24 = *pbVar18 == *pbVar19;\n                      pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                      pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      lVar13 = 4;\n                      pbVar18 = local_58[0];\n                      pbVar19 = &DAT_0053357f;\n                      do {\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }" { (expression_statement "lVar13 = 5;" (assignment_expression "lVar13 = 5" identifier = number_literal) ;) (expression_statement "pbVar18 = local_58[0];" (assignment_expression "pbVar18 = local_58[0]" identifier = (subscript_expression "local_58[0]" identifier [ number_literal ])) ;) (expression_statement "pbVar19 = (byte *)".stab";" (assignment_expression "pbVar19 = (byte *)".stab"" identifier = (cast_expression "(byte *)".stab"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".stab"" " string_content "))) ;) (do_statement "do {\n                      if (lVar13 == 0) break;\n                      lVar13 = lVar13 + -1;\n                      bVar26 = *pbVar18 < *pbVar19;\n                      bVar24 = *pbVar18 == *pbVar19;\n                      pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                      pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                    } while (bVar24);" do (compound_statement "{\n                      if (lVar13 == 0) break;\n                      lVar13 = lVar13 + -1;\n                      bVar26 = *pbVar18 < *pbVar19;\n                      bVar24 = *pbVar18 == *pbVar19;\n                      pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                      pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                    }" { (if_statement "if (lVar13 == 0) break;" if (parenthesized_expression "(lVar13 == 0)" ( (binary_expression "lVar13 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar13 = lVar13 + -1;" (assignment_expression "lVar13 = lVar13 + -1" identifier = (binary_expression "lVar13 + -1" identifier + number_literal)) ;) (expression_statement "bVar26 = *pbVar18 < *pbVar19;" (assignment_expression "bVar26 = *pbVar18 < *pbVar19" identifier = (binary_expression "*pbVar18 < *pbVar19" (pointer_expression "*pbVar18" * identifier) < (pointer_expression "*pbVar19" * identifier))) ;) (expression_statement "bVar24 = *pbVar18 == *pbVar19;" (assignment_expression "bVar24 = *pbVar18 == *pbVar19" identifier = (binary_expression "*pbVar18 == *pbVar19" (pointer_expression "*pbVar18" * identifier) == (pointer_expression "*pbVar19" * identifier))) ;) (expression_statement "pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1" identifier = (binary_expression "pbVar18 + (ulong)bVar27 * -2 + 1" (binary_expression "pbVar18 + (ulong)bVar27 * -2" identifier + (binary_expression "(ulong)bVar27 * -2" (cast_expression "(ulong)bVar27" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;" (assignment_expression "pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1" identifier = (binary_expression "pbVar19 + (ulong)bVar27 * -2 + 1" (binary_expression "pbVar19 + (ulong)bVar27 * -2" identifier + (binary_expression "(ulong)bVar27 * -2" (cast_expression "(ulong)bVar27" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar24)" ( identifier )) ;) (expression_statement "bVar25 = false;" (assignment_expression "bVar25 = false" identifier = false) ;) (expression_statement "bVar24 = (!bVar26 && !bVar24) == bVar26;" (assignment_expression "bVar24 = (!bVar26 && !bVar24) == bVar26" identifier = (binary_expression "(!bVar26 && !bVar24) == bVar26" (parenthesized_expression "(!bVar26 && !bVar24)" ( (binary_expression "!bVar26 && !bVar24" (unary_expression "!bVar26" ! identifier) && (unary_expression "!bVar24" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar24) {\n                      lVar13 = 4;\n                      pbVar18 = local_58[0];\n                      pbVar19 = &DAT_0053357f;\n                      do {\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }" if (parenthesized_expression "(!bVar24)" ( (unary_expression "!bVar24" ! identifier) )) (compound_statement "{\n                      lVar13 = 4;\n                      pbVar18 = local_58[0];\n                      pbVar19 = &DAT_0053357f;\n                      do {\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }" { (expression_statement "lVar13 = 4;" (assignment_expression "lVar13 = 4" identifier = number_literal) ;) (expression_statement "pbVar18 = local_58[0];" (assignment_expression "pbVar18 = local_58[0]" identifier = (subscript_expression "local_58[0]" identifier [ number_literal ])) ;) (expression_statement "pbVar19 = &DAT_0053357f;" (assignment_expression "pbVar19 = &DAT_0053357f" identifier = (pointer_expression "&DAT_0053357f" & identifier)) ;) (do_statement "do {\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      } while (bVar24);" do (compound_statement "{\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      }" { (if_statement "if (lVar13 == 0) break;" if (parenthesized_expression "(lVar13 == 0)" ( (binary_expression "lVar13 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar13 = lVar13 + -1;" (assignment_expression "lVar13 = lVar13 + -1" identifier = (binary_expression "lVar13 + -1" identifier + number_literal)) ;) (expression_statement "bVar25 = *pbVar18 < *pbVar19;" (assignment_expression "bVar25 = *pbVar18 < *pbVar19" identifier = (binary_expression "*pbVar18 < *pbVar19" (pointer_expression "*pbVar18" * identifier) < (pointer_expression "*pbVar19" * identifier))) ;) (expression_statement "bVar24 = *pbVar18 == *pbVar19;" (assignment_expression "bVar24 = *pbVar18 == *pbVar19" identifier = (binary_expression "*pbVar18 == *pbVar19" (pointer_expression "*pbVar18" * identifier) == (pointer_expression "*pbVar19" * identifier))) ;) (expression_statement "pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1" identifier = (binary_expression "pbVar18 + (ulong)bVar27 * -2 + 1" (binary_expression "pbVar18 + (ulong)bVar27 * -2" identifier + (binary_expression "(ulong)bVar27 * -2" (cast_expression "(ulong)bVar27" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;" (assignment_expression "pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1" identifier = (binary_expression "pbVar19 + (ulong)bVar27 * -2 + 1" (binary_expression "pbVar19 + (ulong)bVar27 * -2" identifier + (binary_expression "(ulong)bVar27 * -2" (cast_expression "(ulong)bVar27" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar24)" ( identifier )) ;) (expression_statement "bVar26 = false;" (assignment_expression "bVar26 = false" identifier = false) ;) (expression_statement "bVar24 = (!bVar25 && !bVar24) == bVar25;" (assignment_expression "bVar24 = (!bVar25 && !bVar24) == bVar25" identifier = (binary_expression "(!bVar25 && !bVar24) == bVar25" (parenthesized_expression "(!bVar25 && !bVar24)" ( (binary_expression "!bVar25 && !bVar24" (unary_expression "!bVar25" ! identifier) && (unary_expression "!bVar24" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar24) {\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }" if (parenthesized_expression "(!bVar24)" ( (unary_expression "!bVar24" ! identifier) )) (compound_statement "{\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }" { (expression_statement "lVar13 = 10;" (assignment_expression "lVar13 = 10" identifier = number_literal) ;) (expression_statement "pbVar18 = local_58[0];" (assignment_expression "pbVar18 = local_58[0]" identifier = (subscript_expression "local_58[0]" identifier [ number_literal ])) ;) (expression_statement "pbVar19 = (byte *)".eh_frame";" (assignment_expression "pbVar19 = (byte *)".eh_frame"" identifier = (cast_expression "(byte *)".eh_frame"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".eh_frame"" " string_content "))) ;) (do_statement "do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);" do (compound_statement "{\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        }" { (if_statement "if (lVar13 == 0) break;" if (parenthesized_expression "(lVar13 == 0)" ( (binary_expression "lVar13 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar13 = lVar13 + -1;" (assignment_expression "lVar13 = lVar13 + -1" identifier = (binary_expression "lVar13 + -1" identifier + number_literal)) ;) (expression_statement "bVar26 = *pbVar18 < *pbVar19;" (assignment_expression "bVar26 = *pbVar18 < *pbVar19" identifier = (binary_expression "*pbVar18 < *pbVar19" (pointer_expression "*pbVar18" * identifier) < (pointer_expression "*pbVar19" * identifier))) ;) (expression_statement "bVar24 = *pbVar18 == *pbVar19;" (assignment_expression "bVar24 = *pbVar18 == *pbVar19" identifier = (binary_expression "*pbVar18 == *pbVar19" (pointer_expression "*pbVar18" * identifier) == (pointer_expression "*pbVar19" * identifier))) ;) (expression_statement "pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1" identifier = (binary_expression "pbVar18 + (ulong)bVar27 * -2 + 1" (binary_expression "pbVar18 + (ulong)bVar27 * -2" identifier + (binary_expression "(ulong)bVar27 * -2" (cast_expression "(ulong)bVar27" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;" (assignment_expression "pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1" identifier = (binary_expression "pbVar19 + (ulong)bVar27 * -2 + 1" (binary_expression "pbVar19 + (ulong)bVar27 * -2" identifier + (binary_expression "(ulong)bVar27 * -2" (cast_expression "(ulong)bVar27" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar24)" ( identifier )) ;) (expression_statement "bVar25 = false;" (assignment_expression "bVar25 = false" identifier = false) ;) (expression_statement "bVar24 = (!bVar26 && !bVar24) == bVar26;" (assignment_expression "bVar24 = (!bVar26 && !bVar24) == bVar26" identifier = (binary_expression "(!bVar26 && !bVar24) == bVar26" (parenthesized_expression "(!bVar26 && !bVar24)" ( (binary_expression "!bVar26 && !bVar24" (unary_expression "!bVar26" ! identifier) && (unary_expression "!bVar24" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }" if (parenthesized_expression "(!bVar24)" ( (unary_expression "!bVar24" ! identifier) )) (compound_statement "{\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }" { (expression_statement "lVar13 = 0x12;" (assignment_expression "lVar13 = 0x12" identifier = number_literal) ;) (expression_statement "pbVar18 = local_58[0];" (assignment_expression "pbVar18 = local_58[0]" identifier = (subscript_expression "local_58[0]" identifier [ number_literal ])) ;) (expression_statement "pbVar19 = (byte *)".gcc_except_table";" (assignment_expression "pbVar19 = (byte *)".gcc_except_table"" identifier = (cast_expression "(byte *)".gcc_except_table"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".gcc_except_table"" " string_content "))) ;) (do_statement "do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);" do (compound_statement "{\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          }" { (if_statement "if (lVar13 == 0) break;" if (parenthesized_expression "(lVar13 == 0)" ( (binary_expression "lVar13 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar13 = lVar13 + -1;" (assignment_expression "lVar13 = lVar13 + -1" identifier = (binary_expression "lVar13 + -1" identifier + number_literal)) ;) (expression_statement "bVar25 = *pbVar18 < *pbVar19;" (assignment_expression "bVar25 = *pbVar18 < *pbVar19" identifier = (binary_expression "*pbVar18 < *pbVar19" (pointer_expression "*pbVar18" * identifier) < (pointer_expression "*pbVar19" * identifier))) ;) (expression_statement "bVar24 = *pbVar18 == *pbVar19;" (assignment_expression "bVar24 = *pbVar18 == *pbVar19" identifier = (binary_expression "*pbVar18 == *pbVar19" (pointer_expression "*pbVar18" * identifier) == (pointer_expression "*pbVar19" * identifier))) ;) (expression_statement "pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1" identifier = (binary_expression "pbVar18 + (ulong)bVar27 * -2 + 1" (binary_expression "pbVar18 + (ulong)bVar27 * -2" identifier + (binary_expression "(ulong)bVar27 * -2" (cast_expression "(ulong)bVar27" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;" (assignment_expression "pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1" identifier = (binary_expression "pbVar19 + (ulong)bVar27 * -2 + 1" (binary_expression "pbVar19 + (ulong)bVar27 * -2" identifier + (binary_expression "(ulong)bVar27 * -2" (cast_expression "(ulong)bVar27" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar24)" ( identifier )) ;) (if_statement "if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;" if (parenthesized_expression "((!bVar25 && !bVar24) != bVar25)" ( (binary_expression "(!bVar25 && !bVar24) != bVar25" (parenthesized_expression "(!bVar25 && !bVar24)" ( (binary_expression "!bVar25 && !bVar24" (unary_expression "!bVar25" ! identifier) && (unary_expression "!bVar24" ! identifier)) )) != identifier) )) (goto_statement "goto LAB_0030ff50;" goto statement_identifier ;)) })) (goto_statement "goto LAB_00310006;" goto statement_identifier ;) })) })) })) })) })) })) (labeled_statement "LAB_0030fdc0:\n                    /* try { // try from 0030fdd2 to 0030fdd6 has its CatchHandler @ 00310912 */\n            iVar8 = FUN_00397c50(plVar23,uVar17,local_58,&local_78);" statement_identifier : comment (expression_statement "iVar8 = FUN_00397c50(plVar23,uVar17,local_58,&local_78);" (assignment_expression "iVar8 = FUN_00397c50(plVar23,uVar17,local_58,&local_78)" identifier = (call_expression "FUN_00397c50(plVar23,uVar17,local_58,&local_78)" identifier (argument_list "(plVar23,uVar17,local_58,&local_78)" ( identifier , identifier , identifier , (pointer_expression "&local_78" & identifier) )))) ;)) (expression_statement "local_a8 = 0;" (assignment_expression "local_a8 = 0" identifier = number_literal) ;) (if_statement "if (local_78 != '\0') {\n              local_a8 = iVar8 + *(int *)(puVar22 + 2);\n            }" if (parenthesized_expression "(local_78 != '\0')" ( (binary_expression "local_78 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              local_a8 = iVar8 + *(int *)(puVar22 + 2);\n            }" { (expression_statement "local_a8 = iVar8 + *(int *)(puVar22 + 2);" (assignment_expression "local_a8 = iVar8 + *(int *)(puVar22 + 2)" identifier = (binary_expression "iVar8 + *(int *)(puVar22 + 2)" identifier + (pointer_expression "*(int *)(puVar22 + 2)" * (cast_expression "(int *)(puVar22 + 2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + 2)" ( (binary_expression "puVar22 + 2" identifier + number_literal) )))))) ;) })) (expression_statement "iVar8 = 1;" (assignment_expression "iVar8 = 1" identifier = number_literal) ;) }) (else_clause "else {\n            if (iVar8 == 1) goto LAB_0030fdc0;\n            if (iVar8 == 3) {\nLAB_0030ff50:\n              lVar13 = param_2[2];\n              if (puVar10 == (undefined8 *)0x0) {\n                    /* try { // try from 003105ee to 0031061d has its CatchHandler @ 00310912 */\n                uVar9 = FUN_0039dd50(lVar13,uVar21);\n                uVar11 = gettext(\n                                "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                );\n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9,uVar21);\n              }\n              else {\n                    /* try { // try from 0030ff70 to 0030ff74 has its CatchHandler @ 00310912 */\n                FUN_004443d0(&local_78,puVar10);\n                uVar9 = CONCAT71(uStack_77,local_78);\n                uVar11 = gettext(\n                                "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                );\n                    /* try { // try from 0030ffa4 to 0030ffa8 has its CatchHandler @ 0031093c */\n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9);\n                if ((undefined1 *)CONCAT71(uStack_77,local_78) != auStack_68) {\n                  FUN_0049e340();\n                }\n              }\n                    /* try { // try from 0030ffd1 to 0030ffd5 has its CatchHandler @ 00310912 */\n              iVar8 = FUN_0039d3c0(lVar13,uVar21,local_e0,&local_e1);\n              if (iVar8 != 0) {\n                    /* try { // try from 00310544 to 0031057d has its CatchHandler @ 00310912 */\n                lVar15 = FUN_00397ec0(lVar13,iVar8,&local_dc);\n                if (local_dc != 0) {\n                    /* try { // try from 00310725 to 00310745 has its CatchHandler @ 00310912 */\n                  uVar9 = FUN_0039dd50(lVar13);\n                  uVar11 = gettext("  section group signature: \"%s\"");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n                if (lVar15 != 0) {\n                  uVar9 = *(undefined8 *)(lVar15 + 8);\n                  uVar11 = gettext("  prevailing definition is from %s");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n              }\n              iVar8 = 3;\n            }\n            else {\nLAB_00310006:\n              iVar8 = 2;\n            }\n            local_a8 = 0;\n          }" else (compound_statement "{\n            if (iVar8 == 1) goto LAB_0030fdc0;\n            if (iVar8 == 3) {\nLAB_0030ff50:\n              lVar13 = param_2[2];\n              if (puVar10 == (undefined8 *)0x0) {\n                    /* try { // try from 003105ee to 0031061d has its CatchHandler @ 00310912 */\n                uVar9 = FUN_0039dd50(lVar13,uVar21);\n                uVar11 = gettext(\n                                "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                );\n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9,uVar21);\n              }\n              else {\n                    /* try { // try from 0030ff70 to 0030ff74 has its CatchHandler @ 00310912 */\n                FUN_004443d0(&local_78,puVar10);\n                uVar9 = CONCAT71(uStack_77,local_78);\n                uVar11 = gettext(\n                                "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                );\n                    /* try { // try from 0030ffa4 to 0030ffa8 has its CatchHandler @ 0031093c */\n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9);\n                if ((undefined1 *)CONCAT71(uStack_77,local_78) != auStack_68) {\n                  FUN_0049e340();\n                }\n              }\n                    /* try { // try from 0030ffd1 to 0030ffd5 has its CatchHandler @ 00310912 */\n              iVar8 = FUN_0039d3c0(lVar13,uVar21,local_e0,&local_e1);\n              if (iVar8 != 0) {\n                    /* try { // try from 00310544 to 0031057d has its CatchHandler @ 00310912 */\n                lVar15 = FUN_00397ec0(lVar13,iVar8,&local_dc);\n                if (local_dc != 0) {\n                    /* try { // try from 00310725 to 00310745 has its CatchHandler @ 00310912 */\n                  uVar9 = FUN_0039dd50(lVar13);\n                  uVar11 = gettext("  section group signature: \"%s\"");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n                if (lVar15 != 0) {\n                  uVar9 = *(undefined8 *)(lVar15 + 8);\n                  uVar11 = gettext("  prevailing definition is from %s");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n              }\n              iVar8 = 3;\n            }\n            else {\nLAB_00310006:\n              iVar8 = 2;\n            }\n            local_a8 = 0;\n          }" { (if_statement "if (iVar8 == 1) goto LAB_0030fdc0;" if (parenthesized_expression "(iVar8 == 1)" ( (binary_expression "iVar8 == 1" identifier == number_literal) )) (goto_statement "goto LAB_0030fdc0;" goto statement_identifier ;)) (if_statement "if (iVar8 == 3) {\nLAB_0030ff50:\n              lVar13 = param_2[2];\n              if (puVar10 == (undefined8 *)0x0) {\n                    /* try { // try from 003105ee to 0031061d has its CatchHandler @ 00310912 */\n                uVar9 = FUN_0039dd50(lVar13,uVar21);\n                uVar11 = gettext(\n                                "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                );\n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9,uVar21);\n              }\n              else {\n                    /* try { // try from 0030ff70 to 0030ff74 has its CatchHandler @ 00310912 */\n                FUN_004443d0(&local_78,puVar10);\n                uVar9 = CONCAT71(uStack_77,local_78);\n                uVar11 = gettext(\n                                "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                );\n                    /* try { // try from 0030ffa4 to 0030ffa8 has its CatchHandler @ 0031093c */\n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9);\n                if ((undefined1 *)CONCAT71(uStack_77,local_78) != auStack_68) {\n                  FUN_0049e340();\n                }\n              }\n                    /* try { // try from 0030ffd1 to 0030ffd5 has its CatchHandler @ 00310912 */\n              iVar8 = FUN_0039d3c0(lVar13,uVar21,local_e0,&local_e1);\n              if (iVar8 != 0) {\n                    /* try { // try from 00310544 to 0031057d has its CatchHandler @ 00310912 */\n                lVar15 = FUN_00397ec0(lVar13,iVar8,&local_dc);\n                if (local_dc != 0) {\n                    /* try { // try from 00310725 to 00310745 has its CatchHandler @ 00310912 */\n                  uVar9 = FUN_0039dd50(lVar13);\n                  uVar11 = gettext("  section group signature: \"%s\"");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n                if (lVar15 != 0) {\n                  uVar9 = *(undefined8 *)(lVar15 + 8);\n                  uVar11 = gettext("  prevailing definition is from %s");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n              }\n              iVar8 = 3;\n            }\n            else {\nLAB_00310006:\n              iVar8 = 2;\n            }" if (parenthesized_expression "(iVar8 == 3)" ( (binary_expression "iVar8 == 3" identifier == number_literal) )) (compound_statement "{\nLAB_0030ff50:\n              lVar13 = param_2[2];\n              if (puVar10 == (undefined8 *)0x0) {\n                    /* try { // try from 003105ee to 0031061d has its CatchHandler @ 00310912 */\n                uVar9 = FUN_0039dd50(lVar13,uVar21);\n                uVar11 = gettext(\n                                "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                );\n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9,uVar21);\n              }\n              else {\n                    /* try { // try from 0030ff70 to 0030ff74 has its CatchHandler @ 00310912 */\n                FUN_004443d0(&local_78,puVar10);\n                uVar9 = CONCAT71(uStack_77,local_78);\n                uVar11 = gettext(\n                                "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                );\n                    /* try { // try from 0030ffa4 to 0030ffa8 has its CatchHandler @ 0031093c */\n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9);\n                if ((undefined1 *)CONCAT71(uStack_77,local_78) != auStack_68) {\n                  FUN_0049e340();\n                }\n              }\n                    /* try { // try from 0030ffd1 to 0030ffd5 has its CatchHandler @ 00310912 */\n              iVar8 = FUN_0039d3c0(lVar13,uVar21,local_e0,&local_e1);\n              if (iVar8 != 0) {\n                    /* try { // try from 00310544 to 0031057d has its CatchHandler @ 00310912 */\n                lVar15 = FUN_00397ec0(lVar13,iVar8,&local_dc);\n                if (local_dc != 0) {\n                    /* try { // try from 00310725 to 00310745 has its CatchHandler @ 00310912 */\n                  uVar9 = FUN_0039dd50(lVar13);\n                  uVar11 = gettext("  section group signature: \"%s\"");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n                if (lVar15 != 0) {\n                  uVar9 = *(undefined8 *)(lVar15 + 8);\n                  uVar11 = gettext("  prevailing definition is from %s");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n              }\n              iVar8 = 3;\n            }" { (labeled_statement "LAB_0030ff50:\n              lVar13 = param_2[2];" statement_identifier : (expression_statement "lVar13 = param_2[2];" (assignment_expression "lVar13 = param_2[2]" identifier = (subscript_expression "param_2[2]" identifier [ number_literal ])) ;)) (if_statement "if (puVar10 == (undefined8 *)0x0) {\n                    /* try { // try from 003105ee to 0031061d has its CatchHandler @ 00310912 */\n                uVar9 = FUN_0039dd50(lVar13,uVar21);\n                uVar11 = gettext(\n                                "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                );\n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9,uVar21);\n              }\n              else {\n                    /* try { // try from 0030ff70 to 0030ff74 has its CatchHandler @ 00310912 */\n                FUN_004443d0(&local_78,puVar10);\n                uVar9 = CONCAT71(uStack_77,local_78);\n                uVar11 = gettext(\n                                "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                );\n                    /* try { // try from 0030ffa4 to 0030ffa8 has its CatchHandler @ 0031093c */\n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9);\n                if ((undefined1 *)CONCAT71(uStack_77,local_78) != auStack_68) {\n                  FUN_0049e340();\n                }\n              }" if (parenthesized_expression "(puVar10 == (undefined8 *)0x0)" ( (binary_expression "puVar10 == (undefined8 *)0x0" identifier == (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* try { // try from 003105ee to 0031061d has its CatchHandler @ 00310912 */\n                uVar9 = FUN_0039dd50(lVar13,uVar21);\n                uVar11 = gettext(\n                                "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                );\n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9,uVar21);\n              }" { comment (expression_statement "uVar9 = FUN_0039dd50(lVar13,uVar21);" (assignment_expression "uVar9 = FUN_0039dd50(lVar13,uVar21)" identifier = (call_expression "FUN_0039dd50(lVar13,uVar21)" identifier (argument_list "(lVar13,uVar21)" ( identifier , identifier )))) ;) (expression_statement "uVar11 = gettext(\n                                "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                );" (assignment_expression "uVar11 = gettext(\n                                "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                )" identifier = (call_expression "gettext(\n                                "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                )" identifier (argument_list "(\n                                "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                )" ( (string_literal ""relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"" " string_content escape_sequence string_content escape_sequence string_content ") )))) ;) (expression_statement "FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9,uVar21);" (call_expression "FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9,uVar21)" identifier (argument_list "(param_2,local_148,local_140,uVar11,uVar9,uVar21)" ( identifier , identifier , identifier , identifier , identifier , identifier ))) ;) }) (else_clause "else {\n                    /* try { // try from 0030ff70 to 0030ff74 has its CatchHandler @ 00310912 */\n                FUN_004443d0(&local_78,puVar10);\n                uVar9 = CONCAT71(uStack_77,local_78);\n                uVar11 = gettext(\n                                "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                );\n                    /* try { // try from 0030ffa4 to 0030ffa8 has its CatchHandler @ 0031093c */\n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9);\n                if ((undefined1 *)CONCAT71(uStack_77,local_78) != auStack_68) {\n                  FUN_0049e340();\n                }\n              }" else (compound_statement "{\n                    /* try { // try from 0030ff70 to 0030ff74 has its CatchHandler @ 00310912 */\n                FUN_004443d0(&local_78,puVar10);\n                uVar9 = CONCAT71(uStack_77,local_78);\n                uVar11 = gettext(\n                                "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                );\n                    /* try { // try from 0030ffa4 to 0030ffa8 has its CatchHandler @ 0031093c */\n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9);\n                if ((undefined1 *)CONCAT71(uStack_77,local_78) != auStack_68) {\n                  FUN_0049e340();\n                }\n              }" { comment (expression_statement "FUN_004443d0(&local_78,puVar10);" (call_expression "FUN_004443d0(&local_78,puVar10)" identifier (argument_list "(&local_78,puVar10)" ( (pointer_expression "&local_78" & identifier) , identifier ))) ;) (expression_statement "uVar9 = CONCAT71(uStack_77,local_78);" (assignment_expression "uVar9 = CONCAT71(uStack_77,local_78)" identifier = (call_expression "CONCAT71(uStack_77,local_78)" identifier (argument_list "(uStack_77,local_78)" ( identifier , identifier )))) ;) (expression_statement "uVar11 = gettext(\n                                "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                );" (assignment_expression "uVar11 = gettext(\n                                "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                )" identifier = (call_expression "gettext(\n                                "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                )" identifier (argument_list "(\n                                "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                )" ( (string_literal ""relocation refers to global symbol \"%s\", which is defined in a discarded section"" " string_content escape_sequence string_content escape_sequence string_content ") )))) ;) comment (expression_statement "FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9);" (call_expression "FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9)" identifier (argument_list "(param_2,local_148,local_140,uVar11,uVar9)" ( identifier , identifier , identifier , identifier , identifier ))) ;) (if_statement "if ((undefined1 *)CONCAT71(uStack_77,local_78) != auStack_68) {\n                  FUN_0049e340();\n                }" if (parenthesized_expression "((undefined1 *)CONCAT71(uStack_77,local_78) != auStack_68)" ( (binary_expression "(undefined1 *)CONCAT71(uStack_77,local_78) != auStack_68" (cast_expression "(undefined1 *)CONCAT71(uStack_77,local_78)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT71(uStack_77,local_78)" identifier (argument_list "(uStack_77,local_78)" ( identifier , identifier )))) != identifier) )) (compound_statement "{\n                  FUN_0049e340();\n                }" { (expression_statement "FUN_0049e340();" (call_expression "FUN_0049e340()" identifier (argument_list "()" ( ))) ;) })) }))) comment (expression_statement "iVar8 = FUN_0039d3c0(lVar13,uVar21,local_e0,&local_e1);" (assignment_expression "iVar8 = FUN_0039d3c0(lVar13,uVar21,local_e0,&local_e1)" identifier = (call_expression "FUN_0039d3c0(lVar13,uVar21,local_e0,&local_e1)" identifier (argument_list "(lVar13,uVar21,local_e0,&local_e1)" ( identifier , identifier , identifier , (pointer_expression "&local_e1" & identifier) )))) ;) (if_statement "if (iVar8 != 0) {\n                    /* try { // try from 00310544 to 0031057d has its CatchHandler @ 00310912 */\n                lVar15 = FUN_00397ec0(lVar13,iVar8,&local_dc);\n                if (local_dc != 0) {\n                    /* try { // try from 00310725 to 00310745 has its CatchHandler @ 00310912 */\n                  uVar9 = FUN_0039dd50(lVar13);\n                  uVar11 = gettext("  section group signature: \"%s\"");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n                if (lVar15 != 0) {\n                  uVar9 = *(undefined8 *)(lVar15 + 8);\n                  uVar11 = gettext("  prevailing definition is from %s");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n              }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n                    /* try { // try from 00310544 to 0031057d has its CatchHandler @ 00310912 */\n                lVar15 = FUN_00397ec0(lVar13,iVar8,&local_dc);\n                if (local_dc != 0) {\n                    /* try { // try from 00310725 to 00310745 has its CatchHandler @ 00310912 */\n                  uVar9 = FUN_0039dd50(lVar13);\n                  uVar11 = gettext("  section group signature: \"%s\"");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n                if (lVar15 != 0) {\n                  uVar9 = *(undefined8 *)(lVar15 + 8);\n                  uVar11 = gettext("  prevailing definition is from %s");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n              }" { comment (expression_statement "lVar15 = FUN_00397ec0(lVar13,iVar8,&local_dc);" (assignment_expression "lVar15 = FUN_00397ec0(lVar13,iVar8,&local_dc)" identifier = (call_expression "FUN_00397ec0(lVar13,iVar8,&local_dc)" identifier (argument_list "(lVar13,iVar8,&local_dc)" ( identifier , identifier , (pointer_expression "&local_dc" & identifier) )))) ;) (if_statement "if (local_dc != 0) {\n                    /* try { // try from 00310725 to 00310745 has its CatchHandler @ 00310912 */\n                  uVar9 = FUN_0039dd50(lVar13);\n                  uVar11 = gettext("  section group signature: \"%s\"");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }" if (parenthesized_expression "(local_dc != 0)" ( (binary_expression "local_dc != 0" identifier != number_literal) )) (compound_statement "{\n                    /* try { // try from 00310725 to 00310745 has its CatchHandler @ 00310912 */\n                  uVar9 = FUN_0039dd50(lVar13);\n                  uVar11 = gettext("  section group signature: \"%s\"");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }" { comment (expression_statement "uVar9 = FUN_0039dd50(lVar13);" (assignment_expression "uVar9 = FUN_0039dd50(lVar13)" identifier = (call_expression "FUN_0039dd50(lVar13)" identifier (argument_list "(lVar13)" ( identifier )))) ;) (expression_statement "uVar11 = gettext("  section group signature: \"%s\"");" (assignment_expression "uVar11 = gettext("  section group signature: \"%s\"")" identifier = (call_expression "gettext("  section group signature: \"%s\"")" identifier (argument_list "("  section group signature: \"%s\"")" ( (string_literal ""  section group signature: \"%s\""" " string_content escape_sequence string_content escape_sequence ") )))) ;) (expression_statement "FUN_0034a8b0(uVar11,uVar9);" (call_expression "FUN_0034a8b0(uVar11,uVar9)" identifier (argument_list "(uVar11,uVar9)" ( identifier , identifier ))) ;) })) (if_statement "if (lVar15 != 0) {\n                  uVar9 = *(undefined8 *)(lVar15 + 8);\n                  uVar11 = gettext("  prevailing definition is from %s");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }" if (parenthesized_expression "(lVar15 != 0)" ( (binary_expression "lVar15 != 0" identifier != number_literal) )) (compound_statement "{\n                  uVar9 = *(undefined8 *)(lVar15 + 8);\n                  uVar11 = gettext("  prevailing definition is from %s");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }" { (expression_statement "uVar9 = *(undefined8 *)(lVar15 + 8);" (assignment_expression "uVar9 = *(undefined8 *)(lVar15 + 8)" identifier = (pointer_expression "*(undefined8 *)(lVar15 + 8)" * (cast_expression "(undefined8 *)(lVar15 + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 8)" ( (binary_expression "lVar15 + 8" identifier + number_literal) ))))) ;) (expression_statement "uVar11 = gettext("  prevailing definition is from %s");" (assignment_expression "uVar11 = gettext("  prevailing definition is from %s")" identifier = (call_expression "gettext("  prevailing definition is from %s")" identifier (argument_list "("  prevailing definition is from %s")" ( (string_literal ""  prevailing definition is from %s"" " string_content ") )))) ;) (expression_statement "FUN_0034a8b0(uVar11,uVar9);" (call_expression "FUN_0034a8b0(uVar11,uVar9)" identifier (argument_list "(uVar11,uVar9)" ( identifier , identifier ))) ;) })) })) (expression_statement "iVar8 = 3;" (assignment_expression "iVar8 = 3" identifier = number_literal) ;) }) (else_clause "else {\nLAB_00310006:\n              iVar8 = 2;\n            }" else (compound_statement "{\nLAB_00310006:\n              iVar8 = 2;\n            }" { (labeled_statement "LAB_00310006:\n              iVar8 = 2;" statement_identifier : (expression_statement "iVar8 = 2;" (assignment_expression "iVar8 = 2" identifier = number_literal) ;)) }))) (expression_statement "local_a8 = 0;" (assignment_expression "local_a8 = 0" identifier = number_literal) ;) }))) (if_statement "if ((int)local_b8 != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310794 to 00310798 has its CatchHandler @ 00310912 */\n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }" if (parenthesized_expression "((int)local_b8 != 0)" ( (binary_expression "(int)local_b8 != 0" (cast_expression "(int)local_b8" ( (type_descriptor "int" primitive_type) ) identifier) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310794 to 00310798 has its CatchHandler @ 00310912 */\n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }" { comment comment (expression_statement "FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");" (call_expression "FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry")" identifier (argument_list "("../../gold/object.h",0x716,"set_no_output_symtab_entry")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""set_no_output_symtab_entry"" " string_content ") ))) ;) })) (expression_statement "local_b8 = CONCAT44(local_b8._4_4_,0xffffffff);" (assignment_expression "local_b8 = CONCAT44(local_b8._4_4_,0xffffffff)" identifier = (call_expression "CONCAT44(local_b8._4_4_,0xffffffff)" identifier (argument_list "(local_b8._4_4_,0xffffffff)" ( (field_expression "local_b8._4_4_" identifier . field_identifier) , number_literal )))) ;) (if_statement "if (local_58[0] != abStack_48) {\n            FUN_0049e340();\n          }" if (parenthesized_expression "(local_58[0] != abStack_48)" ( (binary_expression "local_58[0] != abStack_48" (subscript_expression "local_58[0]" identifier [ number_literal ]) != identifier) )) (compound_statement "{\n            FUN_0049e340();\n          }" { (expression_statement "FUN_0049e340();" (call_expression "FUN_0049e340()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "puVar22 = &local_b8;" (assignment_expression "puVar22 = &local_b8" identifier = (pointer_expression "&local_b8" & identifier)) ;) (if_statement "if (-1 < (long)local_140) goto LAB_0030fae5;" if (parenthesized_expression "(-1 < (long)local_140)" ( (binary_expression "-1 < (long)local_140" number_literal < (cast_expression "(long)local_140" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )) (goto_statement "goto LAB_0030fae5;" goto statement_identifier ;)) (labeled_statement "LAB_0030fe48:\n          uVar9 = gettext("reloc has bad offset %zu");" statement_identifier : (expression_statement "uVar9 = gettext("reloc has bad offset %zu");" (assignment_expression "uVar9 = gettext("reloc has bad offset %zu")" identifier = (call_expression "gettext("reloc has bad offset %zu")" identifier (argument_list "("reloc has bad offset %zu")" ( (string_literal ""reloc has bad offset %zu"" " string_content ") )))) ;)) comment (expression_statement "FUN_0034aed0(param_2,local_148,local_140,uVar9,local_140);" (call_expression "FUN_0034aed0(param_2,local_148,local_140,uVar9,local_140)" identifier (argument_list "(param_2,local_148,local_140,uVar9,local_140)" ( identifier , identifier , identifier , identifier , identifier ))) ;) }) (else_clause "else {\n          if ((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))\n          goto LAB_0030fa33;\n          if (uVar21 < *(uint *)(plVar23 + 0x24)) {\nLAB_003107a0:\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003107b3 to 003107ff has its CatchHandler @ 0031092a */\n            FUN_00352af0("../../gold/target-reloc.h",0x17f,"relocate_section");\n          }\n          uVar14 = (ulong)(uVar21 - *(uint *)(plVar23 + 0x24));\n          if ((ulong)(plVar23[0x27] - plVar23[0x26] >> 3) <= uVar14) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/object.h",0x8ad,"global_symbol");\n          }\n          puVar10 = *(undefined8 **)(plVar23[0x26] + uVar14 * 8);\n          if (puVar10 == (undefined8 *)0x0) goto LAB_003107a0;\n          if ((*(byte *)((long)puVar10 + 0x3a) & 0x10) == 0) goto LAB_0030fa33;\n                    /* try { // try from 0030fc40 to 0030fcb4 has its CatchHandler @ 0031092a */\n          puVar10 = (undefined8 *)FUN_00443580(*param_2,puVar10);\n          iVar7 = *(int *)((long)puVar10 + 0x1c);\n          uVar17 = iVar7 - 1;\n          if (uVar17 < 0xfffffffe) {\n            if (((int)local_d8 != 0) && ((int)local_d8 != -2)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0031077c to 00310780 has its CatchHandler @ 0031092a */\n              FUN_00352af0("../../gold/object.h",0x70c,"set_output_symtab_index");\n            }\n            goto LAB_0030fcf0;\n          }\n          if ((int)local_d8 != 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\nLAB_0030fa42:\n          local_d8 = CONCAT44(local_d8._4_4_,0xffffffff);\nLAB_0030fa4a:\n          local_c8 = *(undefined4 *)(puVar10 + 8);\n          if ((*(byte *)(puVar10 + 7) & 0xf) == 6) {\n            local_d0 = local_d0 | 0x20000000;\n          }\n          else if ((*(byte *)(puVar10 + 7) & 0xf) == 10) {\n            local_d0 = local_d0 | 0x40000000;\n          }\n          if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') {\n            if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) {\nLAB_0030fd10:\n                puVar22 = &local_d8;\n                uVar17 = 0;\n                goto LAB_0030fd25;\n              }\n            }\n            else if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 4) goto LAB_0030fd10;\n          }\n          puVar22 = &local_d8;\nLAB_0030faa5:\n          local_b0 = 0x80000000;\n          local_b8 = 0xffffffff00000000;\n          local_a8 = 0;\n          if ((long)local_140 < 0) goto LAB_0030fe48;\nLAB_0030fae5:\n          if ((param_10 <= local_140) || (local_140 + param_8 == 0)) goto LAB_0030fe48;\n          uVar21 = local_120[1];\n          if (uVar21 >> 0x18 != 0) {\n            uVar9 = gettext("Invalid/unrecognized reloc reloc %d.");\n                    /* try { // try from 0030fb3d to 0030fb59 has its CatchHandler @ 00310922 */\n            FUN_0034a750(uVar9,uVar21 >> 0x18);\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/aarch64-reloc-property.h",0xeb,"code_to_array_index");\n          }\n          if (*DAT_0067dff8 == 0) {\n                    /* try { // try from 003104dd to 003104e1 has its CatchHandler @ 00310922 */\n            FUN_0031d8d0(local_58,DAT_0067dff8,0);\n            pbVar18 = local_58[0];\n            uVar9 = gettext("cannot relocate %s in object file");\n            uVar21 = *local_120;\n                    /* try { // try from 00310510 to 00310514 has its CatchHandler @ 0031091a */\n            FUN_0034aed0(param_2,local_148,\n                         uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18,uVar9,pbVar18);\n            if (local_58[0] != abStack_48) {\n              FUN_0049e340();\n            }\n          }\n          else {\n            plVar3 = (long *)param_2[2];\n            local_90 = 0x80000000;\n            local_98 = 0xffffffff00000000;\n            local_88 = 0;\n            if (puVar10 == (undefined8 *)0x0) {\n              if ((*(byte *)((long)puVar22 + 0xb) & 0x40) != 0) {\n                uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n                    /* try { // try from 00310475 to 003104bc has its CatchHandler @ 00310944 */\n                cVar4 = FUN_00397bb0(plVar3,uVar21);\n                if (cVar4 != '\0') {\n                  lVar13 = *(long *)(param_1 + 0x28);\n                  if (lVar13 == 0) {\n                    /* try { // try from 003108c5 to 003108c9 has its CatchHandler @ 00310944 */\n                    FUN_002ed4a0();\n                    goto LAB_003108ca;\n                  }\n                  if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108a8 to 003108ac has its CatchHandler @ 00310944 */\n                    FUN_00352af0("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar9 = *(undefined8 *)(lVar13 + 8);\n                  iVar7 = *(int *)(lVar13 + 0x68);\n                  local_88 = (**(code **)(*plVar3 + 0x150))(plVar3,uVar21);\n                  local_88 = (int)uVar9 + 0x20 + iVar7 * 0x10 + local_88;\n                }\n              }\n            }\n            else {\n                    /* try { // try from 003100df to 00310101 has its CatchHandler @ 00310944 */\n              cVar4 = FUN_00228fa0(puVar10,*(undefined4 *)(*DAT_0067dff8 + 0x4c));\n              if (cVar4 != '\0') {\n                if (*(long *)(param_1 + 0x28) == 0) {\n                    /* try { // try from 00310800 to 00310804 has its CatchHandler @ 00310944 */\n                  FUN_002ed4a0();\n                  goto LAB_00310805;\n                }\n                local_88 = FUN_002f9c90(*(long *)(param_1 + 0x28),puVar10);\n              }\n            }\n            FUN_001a5bc0(&local_98);\n          }\n          if (puVar10 != (undefined8 *)0x0) {\n            bVar16 = *(byte *)((long)puVar10 + 0x3a);\n            bVar5 = bVar16 & 7;\n            if ((bVar16 & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) != 0) || ((*(byte *)((long)puVar10 + 0x3b) & 0x20) == 0)) {\n                if (*(code **)(*(long *)puVar10[2] + 0x28) != FUN_001a4aa0) {\n                  lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                  if (lVar13 != 0) {\n                    bVar16 = *(byte *)((long)puVar10 + 0x3a);\n                    bVar5 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar5 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)puVar10 + 0x3b)) goto LAB_00310305;\n                    bVar5 = *(byte *)((long)puVar10 + 0x39);\n                    if ((bVar5 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }\nLAB_0031015a:\n                bVar16 = bVar16 & 7;\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                if ((*(byte *)((long)puVar10 + 0x39) & 3) == 0) goto LAB_003101c0;\nLAB_00310166:\n                if (((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)\n                    ) && ((*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0)))) {\nLAB_00310293:\n                  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_003108ca:\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108dd to 003108e1 has its CatchHandler @ 00310922 */\n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') {\n                    if (bVar16 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)(puVar10[2] + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }\n                if (bVar5 == 2) {\n                  uVar9 = gettext("hidden");\n                }\n                else if (bVar5 < 3) {\n                  if (bVar5 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar9 = gettext("internal");\n                }\n                else {\n                  uVar9 = gettext("protected");\n                }\n                uVar11 = *puVar10;\n                uVar12 = gettext("%s symbol \'%s\' is not defined locally");\n                    /* try { // try from 003101b4 to 0031042c has its CatchHandler @ 00310922 */\n                FUN_0034a750(uVar12,uVar9,uVar11);\n                goto LAB_003101c0;\n              }\nLAB_0031020c:\n              if ((*(byte *)(puVar10 + 7) >> 4 == 2) || ((*(byte *)((long)puVar10 + 0x3c) & 2) != 0)\n                 ) {\nLAB_00310438:\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_0031043f:\n                if (bVar5 == 0) goto LAB_003101c0;\n                bVar16 = *(byte *)((long)puVar10 + 0x3a) & 7;\n                if (bVar16 != 0) goto LAB_00310270;\n                goto LAB_00310166;\n              }\n              if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310878 to 0031087c has its CatchHandler @ 00310922 */\n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') goto LAB_00310438;\n              if (*(char *)((long)puVar10 + 0x3b) < '\0') {\n                if (bVar5 != 0) goto LAB_00310260;\nLAB_003105b8:\n                if (*(code **)(*(long *)puVar10[2] + 0x28) == FUN_001a4aa0) goto LAB_0031015a;\n                    /* try { // try from 003105cc to 003105cd has its CatchHandler @ 00310922 */\n                lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                if (lVar13 == 0) goto LAB_00310438;\n              }\nLAB_00310305:\n              plVar3 = *(long **)(PTR_DAT_0067cb08 + 0x18);\n              if (plVar3 == (long *)0x0) {\nLAB_00310805:\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310818 to 0031084c has its CatchHandler @ 00310922 */\n                FUN_00352af0("../../gold/parameters.h",0x69,"target");\n              }\n              if ((*(code **)(*plVar3 + 0x38) != FUN_001a49e0) &&\n                 (cVar4 = (**(code **)(*plVar3 + 0x38))(plVar3,puVar10), cVar4 != '\0'))\n              goto LAB_00310438;\n              lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar13 == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              pbVar18 = *(byte **)(lVar13 + 0x6c40);\n              bVar24 = false;\n              bVar26 = pbVar18 == (byte *)0x0;\n              if (bVar26) {\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_003103c9:\n                if ((bVar5 == 2) ||\n                   ((*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0'))))\n                goto LAB_003103e1;\n                goto LAB_0031043f;\n              }\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"ignore-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar24 = *pbVar19 < *pbVar20;\n                bVar26 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar26);\n              bVar25 = false;\n              bVar24 = (!bVar24 && !bVar26) == bVar24;\n              if (bVar24) goto LAB_00310438;\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"report-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar25 = *pbVar19 < *pbVar20;\n                bVar24 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar15 = 0x17;\n                pbVar19 = pbVar18;\n                pbVar20 = (byte *)"ignore-in-object-files";\n                do {\n                  if (lVar15 == 0) break;\n                  lVar15 = lVar15 + -1;\n                  bVar26 = *pbVar19 < *pbVar20;\n                  bVar24 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if ((!bVar24) || (bVar24 = (*(byte *)((long)puVar10 + 0x3b) & 1) == 0, !bVar24)) {\n                  bVar26 = false;\n                  lVar15 = 0x16;\n                  pbVar19 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    if (lVar15 == 0) break;\n                    lVar15 = lVar15 + -1;\n                    bVar26 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  if (((!bVar26 && !bVar24) != bVar26) || (*(char *)((long)puVar10 + 0x3a) < '\0'))\n                  goto LAB_003103c9;\n                }\n                goto LAB_0031043f;\n              }\nLAB_003103e1:\n              FUN_0034b9f0(puVar10,param_2,local_148,local_140);\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            else {\n              if (bVar5 == 4) goto LAB_0031020c;\nLAB_00310260:\n              bVar5 = *(byte *)((long)puVar10 + 0x39);\n              if ((bVar5 & 3) != 0) {\nLAB_0031026d:\n                bVar5 = bVar5 & 3;\n                bVar16 = bVar16 & 7;\nLAB_00310270:\n                if (((bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2)) &&\n                   (bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0)) goto LAB_00310293;\n              }\nLAB_003101c0:\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            if ((bVar16 & 4) != 0) {\n              FUN_00446c20(*param_2 + 0x1e0,puVar10,param_2,local_148,local_140);\n            }\n          }\n        }" else (compound_statement "{\n          if ((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))\n          goto LAB_0030fa33;\n          if (uVar21 < *(uint *)(plVar23 + 0x24)) {\nLAB_003107a0:\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003107b3 to 003107ff has its CatchHandler @ 0031092a */\n            FUN_00352af0("../../gold/target-reloc.h",0x17f,"relocate_section");\n          }\n          uVar14 = (ulong)(uVar21 - *(uint *)(plVar23 + 0x24));\n          if ((ulong)(plVar23[0x27] - plVar23[0x26] >> 3) <= uVar14) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/object.h",0x8ad,"global_symbol");\n          }\n          puVar10 = *(undefined8 **)(plVar23[0x26] + uVar14 * 8);\n          if (puVar10 == (undefined8 *)0x0) goto LAB_003107a0;\n          if ((*(byte *)((long)puVar10 + 0x3a) & 0x10) == 0) goto LAB_0030fa33;\n                    /* try { // try from 0030fc40 to 0030fcb4 has its CatchHandler @ 0031092a */\n          puVar10 = (undefined8 *)FUN_00443580(*param_2,puVar10);\n          iVar7 = *(int *)((long)puVar10 + 0x1c);\n          uVar17 = iVar7 - 1;\n          if (uVar17 < 0xfffffffe) {\n            if (((int)local_d8 != 0) && ((int)local_d8 != -2)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0031077c to 00310780 has its CatchHandler @ 0031092a */\n              FUN_00352af0("../../gold/object.h",0x70c,"set_output_symtab_index");\n            }\n            goto LAB_0030fcf0;\n          }\n          if ((int)local_d8 != 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\nLAB_0030fa42:\n          local_d8 = CONCAT44(local_d8._4_4_,0xffffffff);\nLAB_0030fa4a:\n          local_c8 = *(undefined4 *)(puVar10 + 8);\n          if ((*(byte *)(puVar10 + 7) & 0xf) == 6) {\n            local_d0 = local_d0 | 0x20000000;\n          }\n          else if ((*(byte *)(puVar10 + 7) & 0xf) == 10) {\n            local_d0 = local_d0 | 0x40000000;\n          }\n          if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') {\n            if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) {\nLAB_0030fd10:\n                puVar22 = &local_d8;\n                uVar17 = 0;\n                goto LAB_0030fd25;\n              }\n            }\n            else if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 4) goto LAB_0030fd10;\n          }\n          puVar22 = &local_d8;\nLAB_0030faa5:\n          local_b0 = 0x80000000;\n          local_b8 = 0xffffffff00000000;\n          local_a8 = 0;\n          if ((long)local_140 < 0) goto LAB_0030fe48;\nLAB_0030fae5:\n          if ((param_10 <= local_140) || (local_140 + param_8 == 0)) goto LAB_0030fe48;\n          uVar21 = local_120[1];\n          if (uVar21 >> 0x18 != 0) {\n            uVar9 = gettext("Invalid/unrecognized reloc reloc %d.");\n                    /* try { // try from 0030fb3d to 0030fb59 has its CatchHandler @ 00310922 */\n            FUN_0034a750(uVar9,uVar21 >> 0x18);\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/aarch64-reloc-property.h",0xeb,"code_to_array_index");\n          }\n          if (*DAT_0067dff8 == 0) {\n                    /* try { // try from 003104dd to 003104e1 has its CatchHandler @ 00310922 */\n            FUN_0031d8d0(local_58,DAT_0067dff8,0);\n            pbVar18 = local_58[0];\n            uVar9 = gettext("cannot relocate %s in object file");\n            uVar21 = *local_120;\n                    /* try { // try from 00310510 to 00310514 has its CatchHandler @ 0031091a */\n            FUN_0034aed0(param_2,local_148,\n                         uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18,uVar9,pbVar18);\n            if (local_58[0] != abStack_48) {\n              FUN_0049e340();\n            }\n          }\n          else {\n            plVar3 = (long *)param_2[2];\n            local_90 = 0x80000000;\n            local_98 = 0xffffffff00000000;\n            local_88 = 0;\n            if (puVar10 == (undefined8 *)0x0) {\n              if ((*(byte *)((long)puVar22 + 0xb) & 0x40) != 0) {\n                uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n                    /* try { // try from 00310475 to 003104bc has its CatchHandler @ 00310944 */\n                cVar4 = FUN_00397bb0(plVar3,uVar21);\n                if (cVar4 != '\0') {\n                  lVar13 = *(long *)(param_1 + 0x28);\n                  if (lVar13 == 0) {\n                    /* try { // try from 003108c5 to 003108c9 has its CatchHandler @ 00310944 */\n                    FUN_002ed4a0();\n                    goto LAB_003108ca;\n                  }\n                  if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108a8 to 003108ac has its CatchHandler @ 00310944 */\n                    FUN_00352af0("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar9 = *(undefined8 *)(lVar13 + 8);\n                  iVar7 = *(int *)(lVar13 + 0x68);\n                  local_88 = (**(code **)(*plVar3 + 0x150))(plVar3,uVar21);\n                  local_88 = (int)uVar9 + 0x20 + iVar7 * 0x10 + local_88;\n                }\n              }\n            }\n            else {\n                    /* try { // try from 003100df to 00310101 has its CatchHandler @ 00310944 */\n              cVar4 = FUN_00228fa0(puVar10,*(undefined4 *)(*DAT_0067dff8 + 0x4c));\n              if (cVar4 != '\0') {\n                if (*(long *)(param_1 + 0x28) == 0) {\n                    /* try { // try from 00310800 to 00310804 has its CatchHandler @ 00310944 */\n                  FUN_002ed4a0();\n                  goto LAB_00310805;\n                }\n                local_88 = FUN_002f9c90(*(long *)(param_1 + 0x28),puVar10);\n              }\n            }\n            FUN_001a5bc0(&local_98);\n          }\n          if (puVar10 != (undefined8 *)0x0) {\n            bVar16 = *(byte *)((long)puVar10 + 0x3a);\n            bVar5 = bVar16 & 7;\n            if ((bVar16 & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) != 0) || ((*(byte *)((long)puVar10 + 0x3b) & 0x20) == 0)) {\n                if (*(code **)(*(long *)puVar10[2] + 0x28) != FUN_001a4aa0) {\n                  lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                  if (lVar13 != 0) {\n                    bVar16 = *(byte *)((long)puVar10 + 0x3a);\n                    bVar5 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar5 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)puVar10 + 0x3b)) goto LAB_00310305;\n                    bVar5 = *(byte *)((long)puVar10 + 0x39);\n                    if ((bVar5 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }\nLAB_0031015a:\n                bVar16 = bVar16 & 7;\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                if ((*(byte *)((long)puVar10 + 0x39) & 3) == 0) goto LAB_003101c0;\nLAB_00310166:\n                if (((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)\n                    ) && ((*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0)))) {\nLAB_00310293:\n                  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_003108ca:\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108dd to 003108e1 has its CatchHandler @ 00310922 */\n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') {\n                    if (bVar16 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)(puVar10[2] + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }\n                if (bVar5 == 2) {\n                  uVar9 = gettext("hidden");\n                }\n                else if (bVar5 < 3) {\n                  if (bVar5 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar9 = gettext("internal");\n                }\n                else {\n                  uVar9 = gettext("protected");\n                }\n                uVar11 = *puVar10;\n                uVar12 = gettext("%s symbol \'%s\' is not defined locally");\n                    /* try { // try from 003101b4 to 0031042c has its CatchHandler @ 00310922 */\n                FUN_0034a750(uVar12,uVar9,uVar11);\n                goto LAB_003101c0;\n              }\nLAB_0031020c:\n              if ((*(byte *)(puVar10 + 7) >> 4 == 2) || ((*(byte *)((long)puVar10 + 0x3c) & 2) != 0)\n                 ) {\nLAB_00310438:\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_0031043f:\n                if (bVar5 == 0) goto LAB_003101c0;\n                bVar16 = *(byte *)((long)puVar10 + 0x3a) & 7;\n                if (bVar16 != 0) goto LAB_00310270;\n                goto LAB_00310166;\n              }\n              if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310878 to 0031087c has its CatchHandler @ 00310922 */\n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') goto LAB_00310438;\n              if (*(char *)((long)puVar10 + 0x3b) < '\0') {\n                if (bVar5 != 0) goto LAB_00310260;\nLAB_003105b8:\n                if (*(code **)(*(long *)puVar10[2] + 0x28) == FUN_001a4aa0) goto LAB_0031015a;\n                    /* try { // try from 003105cc to 003105cd has its CatchHandler @ 00310922 */\n                lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                if (lVar13 == 0) goto LAB_00310438;\n              }\nLAB_00310305:\n              plVar3 = *(long **)(PTR_DAT_0067cb08 + 0x18);\n              if (plVar3 == (long *)0x0) {\nLAB_00310805:\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310818 to 0031084c has its CatchHandler @ 00310922 */\n                FUN_00352af0("../../gold/parameters.h",0x69,"target");\n              }\n              if ((*(code **)(*plVar3 + 0x38) != FUN_001a49e0) &&\n                 (cVar4 = (**(code **)(*plVar3 + 0x38))(plVar3,puVar10), cVar4 != '\0'))\n              goto LAB_00310438;\n              lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar13 == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              pbVar18 = *(byte **)(lVar13 + 0x6c40);\n              bVar24 = false;\n              bVar26 = pbVar18 == (byte *)0x0;\n              if (bVar26) {\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_003103c9:\n                if ((bVar5 == 2) ||\n                   ((*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0'))))\n                goto LAB_003103e1;\n                goto LAB_0031043f;\n              }\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"ignore-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar24 = *pbVar19 < *pbVar20;\n                bVar26 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar26);\n              bVar25 = false;\n              bVar24 = (!bVar24 && !bVar26) == bVar24;\n              if (bVar24) goto LAB_00310438;\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"report-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar25 = *pbVar19 < *pbVar20;\n                bVar24 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar15 = 0x17;\n                pbVar19 = pbVar18;\n                pbVar20 = (byte *)"ignore-in-object-files";\n                do {\n                  if (lVar15 == 0) break;\n                  lVar15 = lVar15 + -1;\n                  bVar26 = *pbVar19 < *pbVar20;\n                  bVar24 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if ((!bVar24) || (bVar24 = (*(byte *)((long)puVar10 + 0x3b) & 1) == 0, !bVar24)) {\n                  bVar26 = false;\n                  lVar15 = 0x16;\n                  pbVar19 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    if (lVar15 == 0) break;\n                    lVar15 = lVar15 + -1;\n                    bVar26 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  if (((!bVar26 && !bVar24) != bVar26) || (*(char *)((long)puVar10 + 0x3a) < '\0'))\n                  goto LAB_003103c9;\n                }\n                goto LAB_0031043f;\n              }\nLAB_003103e1:\n              FUN_0034b9f0(puVar10,param_2,local_148,local_140);\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            else {\n              if (bVar5 == 4) goto LAB_0031020c;\nLAB_00310260:\n              bVar5 = *(byte *)((long)puVar10 + 0x39);\n              if ((bVar5 & 3) != 0) {\nLAB_0031026d:\n                bVar5 = bVar5 & 3;\n                bVar16 = bVar16 & 7;\nLAB_00310270:\n                if (((bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2)) &&\n                   (bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0)) goto LAB_00310293;\n              }\nLAB_003101c0:\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            if ((bVar16 & 4) != 0) {\n              FUN_00446c20(*param_2 + 0x1e0,puVar10,param_2,local_148,local_140);\n            }\n          }\n        }" { (if_statement "if ((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))\n          goto LAB_0030fa33;" if (parenthesized_expression "((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))" ( (binary_expression "(param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0)" (parenthesized_expression "(param_11 != (long *)0x0)" ( (binary_expression "param_11 != (long *)0x0" identifier != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0)" ( (comma_expression "puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0" (assignment_expression "puVar10 = *(undefined8 **)(*param_11 + local_148 * 8)" identifier = (pointer_expression "*(undefined8 **)(*param_11 + local_148 * 8)" * (cast_expression "(undefined8 **)(*param_11 + local_148 * 8)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_11 + local_148 * 8)" ( (binary_expression "*param_11 + local_148 * 8" (pointer_expression "*param_11" * identifier) + (binary_expression "local_148 * 8" identifier * number_literal)) ))))) , (binary_expression "puVar10 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (goto_statement "goto LAB_0030fa33;" goto statement_identifier ;)) (if_statement "if (uVar21 < *(uint *)(plVar23 + 0x24)) {\nLAB_003107a0:\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003107b3 to 003107ff has its CatchHandler @ 0031092a */\n            FUN_00352af0("../../gold/target-reloc.h",0x17f,"relocate_section");\n          }" if (parenthesized_expression "(uVar21 < *(uint *)(plVar23 + 0x24))" ( (binary_expression "uVar21 < *(uint *)(plVar23 + 0x24)" identifier < (pointer_expression "*(uint *)(plVar23 + 0x24)" * (cast_expression "(uint *)(plVar23 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar23 + 0x24)" ( (binary_expression "plVar23 + 0x24" identifier + number_literal) ))))) )) (compound_statement "{\nLAB_003107a0:\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003107b3 to 003107ff has its CatchHandler @ 0031092a */\n            FUN_00352af0("../../gold/target-reloc.h",0x17f,"relocate_section");\n          }" { (labeled_statement "LAB_003107a0:\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003107b3 to 003107ff has its CatchHandler @ 0031092a */\n            FUN_00352af0("../../gold/target-reloc.h",0x17f,"relocate_section");" statement_identifier : comment comment (expression_statement "FUN_00352af0("../../gold/target-reloc.h",0x17f,"relocate_section");" (call_expression "FUN_00352af0("../../gold/target-reloc.h",0x17f,"relocate_section")" identifier (argument_list "("../../gold/target-reloc.h",0x17f,"relocate_section")" ( (string_literal ""../../gold/target-reloc.h"" " string_content ") , number_literal , (string_literal ""relocate_section"" " string_content ") ))) ;)) })) (expression_statement "uVar14 = (ulong)(uVar21 - *(uint *)(plVar23 + 0x24));" (assignment_expression "uVar14 = (ulong)(uVar21 - *(uint *)(plVar23 + 0x24))" identifier = (call_expression "(ulong)(uVar21 - *(uint *)(plVar23 + 0x24))" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar21 - *(uint *)(plVar23 + 0x24))" ( (binary_expression "uVar21 - *(uint *)(plVar23 + 0x24)" identifier - (pointer_expression "*(uint *)(plVar23 + 0x24)" * (cast_expression "(uint *)(plVar23 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar23 + 0x24)" ( (binary_expression "plVar23 + 0x24" identifier + number_literal) ))))) )))) ;) (if_statement "if ((ulong)(plVar23[0x27] - plVar23[0x26] >> 3) <= uVar14) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/object.h",0x8ad,"global_symbol");\n          }" if (parenthesized_expression "((ulong)(plVar23[0x27] - plVar23[0x26] >> 3) <= uVar14)" ( (binary_expression "(ulong)(plVar23[0x27] - plVar23[0x26] >> 3) <= uVar14" (call_expression "(ulong)(plVar23[0x27] - plVar23[0x26] >> 3)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(plVar23[0x27] - plVar23[0x26] >> 3)" ( (binary_expression "plVar23[0x27] - plVar23[0x26] >> 3" (binary_expression "plVar23[0x27] - plVar23[0x26]" (subscript_expression "plVar23[0x27]" identifier [ number_literal ]) - (subscript_expression "plVar23[0x26]" identifier [ number_literal ])) >> number_literal) ))) <= identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/object.h",0x8ad,"global_symbol");\n          }" { comment (expression_statement "FUN_00352af0("../../gold/object.h",0x8ad,"global_symbol");" (call_expression "FUN_00352af0("../../gold/object.h",0x8ad,"global_symbol")" identifier (argument_list "("../../gold/object.h",0x8ad,"global_symbol")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""global_symbol"" " string_content ") ))) ;) })) (expression_statement "puVar10 = *(undefined8 **)(plVar23[0x26] + uVar14 * 8);" (assignment_expression "puVar10 = *(undefined8 **)(plVar23[0x26] + uVar14 * 8)" identifier = (pointer_expression "*(undefined8 **)(plVar23[0x26] + uVar14 * 8)" * (cast_expression "(undefined8 **)(plVar23[0x26] + uVar14 * 8)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(plVar23[0x26] + uVar14 * 8)" ( (binary_expression "plVar23[0x26] + uVar14 * 8" (subscript_expression "plVar23[0x26]" identifier [ number_literal ]) + (binary_expression "uVar14 * 8" identifier * number_literal)) ))))) ;) (if_statement "if (puVar10 == (undefined8 *)0x0) goto LAB_003107a0;" if (parenthesized_expression "(puVar10 == (undefined8 *)0x0)" ( (binary_expression "puVar10 == (undefined8 *)0x0" identifier == (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_003107a0;" goto statement_identifier ;)) (if_statement "if ((*(byte *)((long)puVar10 + 0x3a) & 0x10) == 0) goto LAB_0030fa33;" if (parenthesized_expression "((*(byte *)((long)puVar10 + 0x3a) & 0x10) == 0)" ( (binary_expression "(*(byte *)((long)puVar10 + 0x3a) & 0x10) == 0" (parenthesized_expression "(*(byte *)((long)puVar10 + 0x3a) & 0x10)" ( (binary_expression "*(byte *)((long)puVar10 + 0x3a) & 0x10" (pointer_expression "*(byte *)((long)puVar10 + 0x3a)" * (cast_expression "(byte *)((long)puVar10 + 0x3a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar10 + 0x3a)" ( (binary_expression "(long)puVar10 + 0x3a" (cast_expression "(long)puVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0030fa33;" goto statement_identifier ;)) comment (expression_statement "puVar10 = (undefined8 *)FUN_00443580(*param_2,puVar10);" (assignment_expression "puVar10 = (undefined8 *)FUN_00443580(*param_2,puVar10)" identifier = (cast_expression "(undefined8 *)FUN_00443580(*param_2,puVar10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00443580(*param_2,puVar10)" identifier (argument_list "(*param_2,puVar10)" ( (pointer_expression "*param_2" * identifier) , identifier ))))) ;) (expression_statement "iVar7 = *(int *)((long)puVar10 + 0x1c);" (assignment_expression "iVar7 = *(int *)((long)puVar10 + 0x1c)" identifier = (pointer_expression "*(int *)((long)puVar10 + 0x1c)" * (cast_expression "(int *)((long)puVar10 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar10 + 0x1c)" ( (binary_expression "(long)puVar10 + 0x1c" (cast_expression "(long)puVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (expression_statement "uVar17 = iVar7 - 1;" (assignment_expression "uVar17 = iVar7 - 1" identifier = (binary_expression "iVar7 - 1" identifier - number_literal)) ;) (if_statement "if (uVar17 < 0xfffffffe) {\n            if (((int)local_d8 != 0) && ((int)local_d8 != -2)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0031077c to 00310780 has its CatchHandler @ 0031092a */\n              FUN_00352af0("../../gold/object.h",0x70c,"set_output_symtab_index");\n            }\n            goto LAB_0030fcf0;\n          }" if (parenthesized_expression "(uVar17 < 0xfffffffe)" ( (binary_expression "uVar17 < 0xfffffffe" identifier < number_literal) )) (compound_statement "{\n            if (((int)local_d8 != 0) && ((int)local_d8 != -2)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0031077c to 00310780 has its CatchHandler @ 0031092a */\n              FUN_00352af0("../../gold/object.h",0x70c,"set_output_symtab_index");\n            }\n            goto LAB_0030fcf0;\n          }" { (if_statement "if (((int)local_d8 != 0) && ((int)local_d8 != -2)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0031077c to 00310780 has its CatchHandler @ 0031092a */\n              FUN_00352af0("../../gold/object.h",0x70c,"set_output_symtab_index");\n            }" if (parenthesized_expression "(((int)local_d8 != 0) && ((int)local_d8 != -2))" ( (binary_expression "((int)local_d8 != 0) && ((int)local_d8 != -2)" (parenthesized_expression "((int)local_d8 != 0)" ( (binary_expression "(int)local_d8 != 0" (cast_expression "(int)local_d8" ( (type_descriptor "int" primitive_type) ) identifier) != number_literal) )) && (parenthesized_expression "((int)local_d8 != -2)" ( (binary_expression "(int)local_d8 != -2" (cast_expression "(int)local_d8" ( (type_descriptor "int" primitive_type) ) identifier) != number_literal) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0031077c to 00310780 has its CatchHandler @ 0031092a */\n              FUN_00352af0("../../gold/object.h",0x70c,"set_output_symtab_index");\n            }" { comment comment (expression_statement "FUN_00352af0("../../gold/object.h",0x70c,"set_output_symtab_index");" (call_expression "FUN_00352af0("../../gold/object.h",0x70c,"set_output_symtab_index")" identifier (argument_list "("../../gold/object.h",0x70c,"set_output_symtab_index")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""set_output_symtab_index"" " string_content ") ))) ;) })) (goto_statement "goto LAB_0030fcf0;" goto statement_identifier ;) })) (if_statement "if ((int)local_d8 != 0) {\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }" if (parenthesized_expression "((int)local_d8 != 0)" ( (binary_expression "(int)local_d8 != 0" (cast_expression "(int)local_d8" ( (type_descriptor "int" primitive_type) ) identifier) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }" { comment (expression_statement "FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");" (call_expression "FUN_00352af0("../../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_0030fa42:\n          local_d8 = CONCAT44(local_d8._4_4_,0xffffffff);" statement_identifier : (expression_statement "local_d8 = CONCAT44(local_d8._4_4_,0xffffffff);" (assignment_expression "local_d8 = CONCAT44(local_d8._4_4_,0xffffffff)" identifier = (call_expression "CONCAT44(local_d8._4_4_,0xffffffff)" identifier (argument_list "(local_d8._4_4_,0xffffffff)" ( (field_expression "local_d8._4_4_" identifier . field_identifier) , number_literal )))) ;)) (labeled_statement "LAB_0030fa4a:\n          local_c8 = *(undefined4 *)(puVar10 + 8);" statement_identifier : (expression_statement "local_c8 = *(undefined4 *)(puVar10 + 8);" (assignment_expression "local_c8 = *(undefined4 *)(puVar10 + 8)" identifier = (pointer_expression "*(undefined4 *)(puVar10 + 8)" * (cast_expression "(undefined4 *)(puVar10 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 8)" ( (binary_expression "puVar10 + 8" identifier + number_literal) ))))) ;)) (if_statement "if ((*(byte *)(puVar10 + 7) & 0xf) == 6) {\n            local_d0 = local_d0 | 0x20000000;\n          }\n          else if ((*(byte *)(puVar10 + 7) & 0xf) == 10) {\n            local_d0 = local_d0 | 0x40000000;\n          }" if (parenthesized_expression "((*(byte *)(puVar10 + 7) & 0xf) == 6)" ( (binary_expression "(*(byte *)(puVar10 + 7) & 0xf) == 6" (parenthesized_expression "(*(byte *)(puVar10 + 7) & 0xf)" ( (binary_expression "*(byte *)(puVar10 + 7) & 0xf" (pointer_expression "*(byte *)(puVar10 + 7)" * (cast_expression "(byte *)(puVar10 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 7)" ( (binary_expression "puVar10 + 7" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n            local_d0 = local_d0 | 0x20000000;\n          }" { (expression_statement "local_d0 = local_d0 | 0x20000000;" (assignment_expression "local_d0 = local_d0 | 0x20000000" identifier = (binary_expression "local_d0 | 0x20000000" identifier | number_literal)) ;) }) (else_clause "else if ((*(byte *)(puVar10 + 7) & 0xf) == 10) {\n            local_d0 = local_d0 | 0x40000000;\n          }" else (if_statement "if ((*(byte *)(puVar10 + 7) & 0xf) == 10) {\n            local_d0 = local_d0 | 0x40000000;\n          }" if (parenthesized_expression "((*(byte *)(puVar10 + 7) & 0xf) == 10)" ( (binary_expression "(*(byte *)(puVar10 + 7) & 0xf) == 10" (parenthesized_expression "(*(byte *)(puVar10 + 7) & 0xf)" ( (binary_expression "*(byte *)(puVar10 + 7) & 0xf" (pointer_expression "*(byte *)(puVar10 + 7)" * (cast_expression "(byte *)(puVar10 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 7)" ( (binary_expression "puVar10 + 7" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n            local_d0 = local_d0 | 0x40000000;\n          }" { (expression_statement "local_d0 = local_d0 | 0x40000000;" (assignment_expression "local_d0 = local_d0 | 0x40000000" identifier = (binary_expression "local_d0 | 0x40000000" identifier | number_literal)) ;) })))) (if_statement "if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') {\n            if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) {\nLAB_0030fd10:\n                puVar22 = &local_d8;\n                uVar17 = 0;\n                goto LAB_0030fd25;\n              }\n            }\n            else if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 4) goto LAB_0030fd10;\n          }" if (parenthesized_expression "((char)*(byte *)((long)puVar10 + 0x3b) < '\0')" ( (binary_expression "(char)*(byte *)((long)puVar10 + 0x3b) < '\0'" (cast_expression "(char)*(byte *)((long)puVar10 + 0x3b)" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(byte *)((long)puVar10 + 0x3b)" * (cast_expression "(byte *)((long)puVar10 + 0x3b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar10 + 0x3b)" ( (binary_expression "(long)puVar10 + 0x3b" (cast_expression "(long)puVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) {\nLAB_0030fd10:\n                puVar22 = &local_d8;\n                uVar17 = 0;\n                goto LAB_0030fd25;\n              }\n            }\n            else if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 4) goto LAB_0030fd10;\n          }" { (if_statement "if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) {\nLAB_0030fd10:\n                puVar22 = &local_d8;\n                uVar17 = 0;\n                goto LAB_0030fd25;\n              }\n            }\n            else if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 4) goto LAB_0030fd10;" if (parenthesized_expression "((*(byte *)((long)puVar10 + 0x3a) & 7) == 0)" ( (binary_expression "(*(byte *)((long)puVar10 + 0x3a) & 7) == 0" (parenthesized_expression "(*(byte *)((long)puVar10 + 0x3a) & 7)" ( (binary_expression "*(byte *)((long)puVar10 + 0x3a) & 7" (pointer_expression "*(byte *)((long)puVar10 + 0x3a)" * (cast_expression "(byte *)((long)puVar10 + 0x3a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar10 + 0x3a)" ( (binary_expression "(long)puVar10 + 0x3a" (cast_expression "(long)puVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n              if ((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) {\nLAB_0030fd10:\n                puVar22 = &local_d8;\n                uVar17 = 0;\n                goto LAB_0030fd25;\n              }\n            }" { (if_statement "if ((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) {\nLAB_0030fd10:\n                puVar22 = &local_d8;\n                uVar17 = 0;\n                goto LAB_0030fd25;\n              }" if (parenthesized_expression "((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0))" ( (binary_expression "(*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)" (parenthesized_expression "(*(int *)(puVar10 + 3) == 0)" ( (binary_expression "*(int *)(puVar10 + 3) == 0" (pointer_expression "*(int *)(puVar10 + 3)" * (cast_expression "(int *)(puVar10 + 3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 3)" ( (binary_expression "puVar10 + 3" identifier + number_literal) )))) == number_literal) )) && (parenthesized_expression "((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)" ( (binary_expression "(*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0" (parenthesized_expression "(*(byte *)((long)puVar10 + 0x3b) & 0x20)" ( (binary_expression "*(byte *)((long)puVar10 + 0x3b) & 0x20" (pointer_expression "*(byte *)((long)puVar10 + 0x3b)" * (cast_expression "(byte *)((long)puVar10 + 0x3b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar10 + 0x3b)" ( (binary_expression "(long)puVar10 + 0x3b" (cast_expression "(long)puVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\nLAB_0030fd10:\n                puVar22 = &local_d8;\n                uVar17 = 0;\n                goto LAB_0030fd25;\n              }" { (labeled_statement "LAB_0030fd10:\n                puVar22 = &local_d8;" statement_identifier : (expression_statement "puVar22 = &local_d8;" (assignment_expression "puVar22 = &local_d8" identifier = (pointer_expression "&local_d8" & identifier)) ;)) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0030fd25;" goto statement_identifier ;) })) }) (else_clause "else if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 4) goto LAB_0030fd10;" else (if_statement "if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 4) goto LAB_0030fd10;" if (parenthesized_expression "((*(byte *)((long)puVar10 + 0x3a) & 7) == 4)" ( (binary_expression "(*(byte *)((long)puVar10 + 0x3a) & 7) == 4" (parenthesized_expression "(*(byte *)((long)puVar10 + 0x3a) & 7)" ( (binary_expression "*(byte *)((long)puVar10 + 0x3a) & 7" (pointer_expression "*(byte *)((long)puVar10 + 0x3a)" * (cast_expression "(byte *)((long)puVar10 + 0x3a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar10 + 0x3a)" ( (binary_expression "(long)puVar10 + 0x3a" (cast_expression "(long)puVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0030fd10;" goto statement_identifier ;)))) })) (expression_statement "puVar22 = &local_d8;" (assignment_expression "puVar22 = &local_d8" identifier = (pointer_expression "&local_d8" & identifier)) ;) (labeled_statement "LAB_0030faa5:\n          local_b0 = 0x80000000;" statement_identifier : (expression_statement "local_b0 = 0x80000000;" (assignment_expression "local_b0 = 0x80000000" identifier = number_literal) ;)) (expression_statement "local_b8 = 0xffffffff00000000;" (assignment_expression "local_b8 = 0xffffffff00000000" identifier = number_literal) ;) (expression_statement "local_a8 = 0;" (assignment_expression "local_a8 = 0" identifier = number_literal) ;) (if_statement "if ((long)local_140 < 0) goto LAB_0030fe48;" if (parenthesized_expression "((long)local_140 < 0)" ( (binary_expression "(long)local_140 < 0" (cast_expression "(long)local_140" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) < number_literal) )) (goto_statement "goto LAB_0030fe48;" goto statement_identifier ;)) (labeled_statement "LAB_0030fae5:\n          if ((param_10 <= local_140) || (local_140 + param_8 == 0)) goto LAB_0030fe48;" statement_identifier : (if_statement "if ((param_10 <= local_140) || (local_140 + param_8 == 0)) goto LAB_0030fe48;" if (parenthesized_expression "((param_10 <= local_140) || (local_140 + param_8 == 0))" ( (binary_expression "(param_10 <= local_140) || (local_140 + param_8 == 0)" (parenthesized_expression "(param_10 <= local_140)" ( (binary_expression "param_10 <= local_140" identifier <= identifier) )) || (parenthesized_expression "(local_140 + param_8 == 0)" ( (binary_expression "local_140 + param_8 == 0" (binary_expression "local_140 + param_8" identifier + identifier) == number_literal) ))) )) (goto_statement "goto LAB_0030fe48;" goto statement_identifier ;))) (expression_statement "uVar21 = local_120[1];" (assignment_expression "uVar21 = local_120[1]" identifier = (subscript_expression "local_120[1]" identifier [ number_literal ])) ;) (if_statement "if (uVar21 >> 0x18 != 0) {\n            uVar9 = gettext("Invalid/unrecognized reloc reloc %d.");\n                    /* try { // try from 0030fb3d to 0030fb59 has its CatchHandler @ 00310922 */\n            FUN_0034a750(uVar9,uVar21 >> 0x18);\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/aarch64-reloc-property.h",0xeb,"code_to_array_index");\n          }" if (parenthesized_expression "(uVar21 >> 0x18 != 0)" ( (binary_expression "uVar21 >> 0x18 != 0" (binary_expression "uVar21 >> 0x18" identifier >> number_literal) != number_literal) )) (compound_statement "{\n            uVar9 = gettext("Invalid/unrecognized reloc reloc %d.");\n                    /* try { // try from 0030fb3d to 0030fb59 has its CatchHandler @ 00310922 */\n            FUN_0034a750(uVar9,uVar21 >> 0x18);\n                    /* WARNING: Subroutine does not return */\n            FUN_00352af0("../../gold/aarch64-reloc-property.h",0xeb,"code_to_array_index");\n          }" { (expression_statement "uVar9 = gettext("Invalid/unrecognized reloc reloc %d.");" (assignment_expression "uVar9 = gettext("Invalid/unrecognized reloc reloc %d.")" identifier = (call_expression "gettext("Invalid/unrecognized reloc reloc %d.")" identifier (argument_list "("Invalid/unrecognized reloc reloc %d.")" ( (string_literal ""Invalid/unrecognized reloc reloc %d."" " string_content ") )))) ;) comment (expression_statement "FUN_0034a750(uVar9,uVar21 >> 0x18);" (call_expression "FUN_0034a750(uVar9,uVar21 >> 0x18)" identifier (argument_list "(uVar9,uVar21 >> 0x18)" ( identifier , (binary_expression "uVar21 >> 0x18" identifier >> number_literal) ))) ;) comment (expression_statement "FUN_00352af0("../../gold/aarch64-reloc-property.h",0xeb,"code_to_array_index");" (call_expression "FUN_00352af0("../../gold/aarch64-reloc-property.h",0xeb,"code_to_array_index")" identifier (argument_list "("../../gold/aarch64-reloc-property.h",0xeb,"code_to_array_index")" ( (string_literal ""../../gold/aarch64-reloc-property.h"" " string_content ") , number_literal , (string_literal ""code_to_array_index"" " string_content ") ))) ;) })) (if_statement "if (*DAT_0067dff8 == 0) {\n                    /* try { // try from 003104dd to 003104e1 has its CatchHandler @ 00310922 */\n            FUN_0031d8d0(local_58,DAT_0067dff8,0);\n            pbVar18 = local_58[0];\n            uVar9 = gettext("cannot relocate %s in object file");\n            uVar21 = *local_120;\n                    /* try { // try from 00310510 to 00310514 has its CatchHandler @ 0031091a */\n            FUN_0034aed0(param_2,local_148,\n                         uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18,uVar9,pbVar18);\n            if (local_58[0] != abStack_48) {\n              FUN_0049e340();\n            }\n          }\n          else {\n            plVar3 = (long *)param_2[2];\n            local_90 = 0x80000000;\n            local_98 = 0xffffffff00000000;\n            local_88 = 0;\n            if (puVar10 == (undefined8 *)0x0) {\n              if ((*(byte *)((long)puVar22 + 0xb) & 0x40) != 0) {\n                uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n                    /* try { // try from 00310475 to 003104bc has its CatchHandler @ 00310944 */\n                cVar4 = FUN_00397bb0(plVar3,uVar21);\n                if (cVar4 != '\0') {\n                  lVar13 = *(long *)(param_1 + 0x28);\n                  if (lVar13 == 0) {\n                    /* try { // try from 003108c5 to 003108c9 has its CatchHandler @ 00310944 */\n                    FUN_002ed4a0();\n                    goto LAB_003108ca;\n                  }\n                  if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108a8 to 003108ac has its CatchHandler @ 00310944 */\n                    FUN_00352af0("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar9 = *(undefined8 *)(lVar13 + 8);\n                  iVar7 = *(int *)(lVar13 + 0x68);\n                  local_88 = (**(code **)(*plVar3 + 0x150))(plVar3,uVar21);\n                  local_88 = (int)uVar9 + 0x20 + iVar7 * 0x10 + local_88;\n                }\n              }\n            }\n            else {\n                    /* try { // try from 003100df to 00310101 has its CatchHandler @ 00310944 */\n              cVar4 = FUN_00228fa0(puVar10,*(undefined4 *)(*DAT_0067dff8 + 0x4c));\n              if (cVar4 != '\0') {\n                if (*(long *)(param_1 + 0x28) == 0) {\n                    /* try { // try from 00310800 to 00310804 has its CatchHandler @ 00310944 */\n                  FUN_002ed4a0();\n                  goto LAB_00310805;\n                }\n                local_88 = FUN_002f9c90(*(long *)(param_1 + 0x28),puVar10);\n              }\n            }\n            FUN_001a5bc0(&local_98);\n          }" if (parenthesized_expression "(*DAT_0067dff8 == 0)" ( (binary_expression "*DAT_0067dff8 == 0" (pointer_expression "*DAT_0067dff8" * identifier) == number_literal) )) (compound_statement "{\n                    /* try { // try from 003104dd to 003104e1 has its CatchHandler @ 00310922 */\n            FUN_0031d8d0(local_58,DAT_0067dff8,0);\n            pbVar18 = local_58[0];\n            uVar9 = gettext("cannot relocate %s in object file");\n            uVar21 = *local_120;\n                    /* try { // try from 00310510 to 00310514 has its CatchHandler @ 0031091a */\n            FUN_0034aed0(param_2,local_148,\n                         uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18,uVar9,pbVar18);\n            if (local_58[0] != abStack_48) {\n              FUN_0049e340();\n            }\n          }" { comment (expression_statement "FUN_0031d8d0(local_58,DAT_0067dff8,0);" (call_expression "FUN_0031d8d0(local_58,DAT_0067dff8,0)" identifier (argument_list "(local_58,DAT_0067dff8,0)" ( identifier , identifier , number_literal ))) ;) (expression_statement "pbVar18 = local_58[0];" (assignment_expression "pbVar18 = local_58[0]" identifier = (subscript_expression "local_58[0]" identifier [ number_literal ])) ;) (expression_statement "uVar9 = gettext("cannot relocate %s in object file");" (assignment_expression "uVar9 = gettext("cannot relocate %s in object file")" identifier = (call_expression "gettext("cannot relocate %s in object file")" identifier (argument_list "("cannot relocate %s in object file")" ( (string_literal ""cannot relocate %s in object file"" " string_content ") )))) ;) (expression_statement "uVar21 = *local_120;" (assignment_expression "uVar21 = *local_120" identifier = (pointer_expression "*local_120" * identifier)) ;) comment (expression_statement "FUN_0034aed0(param_2,local_148,\n                         uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18,uVar9,pbVar18);" (call_expression "FUN_0034aed0(param_2,local_148,\n                         uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18,uVar9,pbVar18)" identifier (argument_list "(param_2,local_148,\n                         uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18,uVar9,pbVar18)" ( identifier , identifier , (binary_expression "uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18" (binary_expression "uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8" (binary_expression "uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8" (binary_expression "uVar21 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar21 & 0xff0000) >> 8" (parenthesized_expression "(uVar21 & 0xff0000)" ( (binary_expression "uVar21 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar21 & 0xff00) << 8" (parenthesized_expression "(uVar21 & 0xff00)" ( (binary_expression "uVar21 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar21 << 0x18" identifier << number_literal)) , identifier , identifier ))) ;) (if_statement "if (local_58[0] != abStack_48) {\n              FUN_0049e340();\n            }" if (parenthesized_expression "(local_58[0] != abStack_48)" ( (binary_expression "local_58[0] != abStack_48" (subscript_expression "local_58[0]" identifier [ number_literal ]) != identifier) )) (compound_statement "{\n              FUN_0049e340();\n            }" { (expression_statement "FUN_0049e340();" (call_expression "FUN_0049e340()" identifier (argument_list "()" ( ))) ;) })) }) (else_clause "else {\n            plVar3 = (long *)param_2[2];\n            local_90 = 0x80000000;\n            local_98 = 0xffffffff00000000;\n            local_88 = 0;\n            if (puVar10 == (undefined8 *)0x0) {\n              if ((*(byte *)((long)puVar22 + 0xb) & 0x40) != 0) {\n                uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n                    /* try { // try from 00310475 to 003104bc has its CatchHandler @ 00310944 */\n                cVar4 = FUN_00397bb0(plVar3,uVar21);\n                if (cVar4 != '\0') {\n                  lVar13 = *(long *)(param_1 + 0x28);\n                  if (lVar13 == 0) {\n                    /* try { // try from 003108c5 to 003108c9 has its CatchHandler @ 00310944 */\n                    FUN_002ed4a0();\n                    goto LAB_003108ca;\n                  }\n                  if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108a8 to 003108ac has its CatchHandler @ 00310944 */\n                    FUN_00352af0("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar9 = *(undefined8 *)(lVar13 + 8);\n                  iVar7 = *(int *)(lVar13 + 0x68);\n                  local_88 = (**(code **)(*plVar3 + 0x150))(plVar3,uVar21);\n                  local_88 = (int)uVar9 + 0x20 + iVar7 * 0x10 + local_88;\n                }\n              }\n            }\n            else {\n                    /* try { // try from 003100df to 00310101 has its CatchHandler @ 00310944 */\n              cVar4 = FUN_00228fa0(puVar10,*(undefined4 *)(*DAT_0067dff8 + 0x4c));\n              if (cVar4 != '\0') {\n                if (*(long *)(param_1 + 0x28) == 0) {\n                    /* try { // try from 00310800 to 00310804 has its CatchHandler @ 00310944 */\n                  FUN_002ed4a0();\n                  goto LAB_00310805;\n                }\n                local_88 = FUN_002f9c90(*(long *)(param_1 + 0x28),puVar10);\n              }\n            }\n            FUN_001a5bc0(&local_98);\n          }" else (compound_statement "{\n            plVar3 = (long *)param_2[2];\n            local_90 = 0x80000000;\n            local_98 = 0xffffffff00000000;\n            local_88 = 0;\n            if (puVar10 == (undefined8 *)0x0) {\n              if ((*(byte *)((long)puVar22 + 0xb) & 0x40) != 0) {\n                uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n                    /* try { // try from 00310475 to 003104bc has its CatchHandler @ 00310944 */\n                cVar4 = FUN_00397bb0(plVar3,uVar21);\n                if (cVar4 != '\0') {\n                  lVar13 = *(long *)(param_1 + 0x28);\n                  if (lVar13 == 0) {\n                    /* try { // try from 003108c5 to 003108c9 has its CatchHandler @ 00310944 */\n                    FUN_002ed4a0();\n                    goto LAB_003108ca;\n                  }\n                  if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108a8 to 003108ac has its CatchHandler @ 00310944 */\n                    FUN_00352af0("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar9 = *(undefined8 *)(lVar13 + 8);\n                  iVar7 = *(int *)(lVar13 + 0x68);\n                  local_88 = (**(code **)(*plVar3 + 0x150))(plVar3,uVar21);\n                  local_88 = (int)uVar9 + 0x20 + iVar7 * 0x10 + local_88;\n                }\n              }\n            }\n            else {\n                    /* try { // try from 003100df to 00310101 has its CatchHandler @ 00310944 */\n              cVar4 = FUN_00228fa0(puVar10,*(undefined4 *)(*DAT_0067dff8 + 0x4c));\n              if (cVar4 != '\0') {\n                if (*(long *)(param_1 + 0x28) == 0) {\n                    /* try { // try from 00310800 to 00310804 has its CatchHandler @ 00310944 */\n                  FUN_002ed4a0();\n                  goto LAB_00310805;\n                }\n                local_88 = FUN_002f9c90(*(long *)(param_1 + 0x28),puVar10);\n              }\n            }\n            FUN_001a5bc0(&local_98);\n          }" { (expression_statement "plVar3 = (long *)param_2[2];" (assignment_expression "plVar3 = (long *)param_2[2]" identifier = (cast_expression "(long *)param_2[2]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[2]" identifier [ number_literal ]))) ;) (expression_statement "local_90 = 0x80000000;" (assignment_expression "local_90 = 0x80000000" identifier = number_literal) ;) (expression_statement "local_98 = 0xffffffff00000000;" (assignment_expression "local_98 = 0xffffffff00000000" identifier = number_literal) ;) (expression_statement "local_88 = 0;" (assignment_expression "local_88 = 0" identifier = number_literal) ;) (if_statement "if (puVar10 == (undefined8 *)0x0) {\n              if ((*(byte *)((long)puVar22 + 0xb) & 0x40) != 0) {\n                uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n                    /* try { // try from 00310475 to 003104bc has its CatchHandler @ 00310944 */\n                cVar4 = FUN_00397bb0(plVar3,uVar21);\n                if (cVar4 != '\0') {\n                  lVar13 = *(long *)(param_1 + 0x28);\n                  if (lVar13 == 0) {\n                    /* try { // try from 003108c5 to 003108c9 has its CatchHandler @ 00310944 */\n                    FUN_002ed4a0();\n                    goto LAB_003108ca;\n                  }\n                  if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108a8 to 003108ac has its CatchHandler @ 00310944 */\n                    FUN_00352af0("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar9 = *(undefined8 *)(lVar13 + 8);\n                  iVar7 = *(int *)(lVar13 + 0x68);\n                  local_88 = (**(code **)(*plVar3 + 0x150))(plVar3,uVar21);\n                  local_88 = (int)uVar9 + 0x20 + iVar7 * 0x10 + local_88;\n                }\n              }\n            }\n            else {\n                    /* try { // try from 003100df to 00310101 has its CatchHandler @ 00310944 */\n              cVar4 = FUN_00228fa0(puVar10,*(undefined4 *)(*DAT_0067dff8 + 0x4c));\n              if (cVar4 != '\0') {\n                if (*(long *)(param_1 + 0x28) == 0) {\n                    /* try { // try from 00310800 to 00310804 has its CatchHandler @ 00310944 */\n                  FUN_002ed4a0();\n                  goto LAB_00310805;\n                }\n                local_88 = FUN_002f9c90(*(long *)(param_1 + 0x28),puVar10);\n              }\n            }" if (parenthesized_expression "(puVar10 == (undefined8 *)0x0)" ( (binary_expression "puVar10 == (undefined8 *)0x0" identifier == (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              if ((*(byte *)((long)puVar22 + 0xb) & 0x40) != 0) {\n                uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n                    /* try { // try from 00310475 to 003104bc has its CatchHandler @ 00310944 */\n                cVar4 = FUN_00397bb0(plVar3,uVar21);\n                if (cVar4 != '\0') {\n                  lVar13 = *(long *)(param_1 + 0x28);\n                  if (lVar13 == 0) {\n                    /* try { // try from 003108c5 to 003108c9 has its CatchHandler @ 00310944 */\n                    FUN_002ed4a0();\n                    goto LAB_003108ca;\n                  }\n                  if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108a8 to 003108ac has its CatchHandler @ 00310944 */\n                    FUN_00352af0("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar9 = *(undefined8 *)(lVar13 + 8);\n                  iVar7 = *(int *)(lVar13 + 0x68);\n                  local_88 = (**(code **)(*plVar3 + 0x150))(plVar3,uVar21);\n                  local_88 = (int)uVar9 + 0x20 + iVar7 * 0x10 + local_88;\n                }\n              }\n            }" { (if_statement "if ((*(byte *)((long)puVar22 + 0xb) & 0x40) != 0) {\n                uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n                    /* try { // try from 00310475 to 003104bc has its CatchHandler @ 00310944 */\n                cVar4 = FUN_00397bb0(plVar3,uVar21);\n                if (cVar4 != '\0') {\n                  lVar13 = *(long *)(param_1 + 0x28);\n                  if (lVar13 == 0) {\n                    /* try { // try from 003108c5 to 003108c9 has its CatchHandler @ 00310944 */\n                    FUN_002ed4a0();\n                    goto LAB_003108ca;\n                  }\n                  if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108a8 to 003108ac has its CatchHandler @ 00310944 */\n                    FUN_00352af0("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar9 = *(undefined8 *)(lVar13 + 8);\n                  iVar7 = *(int *)(lVar13 + 0x68);\n                  local_88 = (**(code **)(*plVar3 + 0x150))(plVar3,uVar21);\n                  local_88 = (int)uVar9 + 0x20 + iVar7 * 0x10 + local_88;\n                }\n              }" if (parenthesized_expression "((*(byte *)((long)puVar22 + 0xb) & 0x40) != 0)" ( (binary_expression "(*(byte *)((long)puVar22 + 0xb) & 0x40) != 0" (parenthesized_expression "(*(byte *)((long)puVar22 + 0xb) & 0x40)" ( (binary_expression "*(byte *)((long)puVar22 + 0xb) & 0x40" (pointer_expression "*(byte *)((long)puVar22 + 0xb)" * (cast_expression "(byte *)((long)puVar22 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar22 + 0xb)" ( (binary_expression "(long)puVar22 + 0xb" (cast_expression "(long)puVar22" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n                uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n                    /* try { // try from 00310475 to 003104bc has its CatchHandler @ 00310944 */\n                cVar4 = FUN_00397bb0(plVar3,uVar21);\n                if (cVar4 != '\0') {\n                  lVar13 = *(long *)(param_1 + 0x28);\n                  if (lVar13 == 0) {\n                    /* try { // try from 003108c5 to 003108c9 has its CatchHandler @ 00310944 */\n                    FUN_002ed4a0();\n                    goto LAB_003108ca;\n                  }\n                  if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108a8 to 003108ac has its CatchHandler @ 00310944 */\n                    FUN_00352af0("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar9 = *(undefined8 *)(lVar13 + 8);\n                  iVar7 = *(int *)(lVar13 + 0x68);\n                  local_88 = (**(code **)(*plVar3 + 0x150))(plVar3,uVar21);\n                  local_88 = (int)uVar9 + 0x20 + iVar7 * 0x10 + local_88;\n                }\n              }" { (expression_statement "uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;" (assignment_expression "uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8" identifier = (binary_expression "((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8" (parenthesized_expression "((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18)" ( (binary_expression "(uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18" (binary_expression "(uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8" (binary_expression "(uVar21 & 0xff0000) >> 8" (parenthesized_expression "(uVar21 & 0xff0000)" ( (binary_expression "uVar21 & 0xff0000" identifier & number_literal) )) >> number_literal) | (binary_expression "(uVar21 & 0xff00) << 8" (parenthesized_expression "(uVar21 & 0xff00)" ( (binary_expression "uVar21 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar21 << 0x18" identifier << number_literal)) )) >> number_literal)) ;) comment (expression_statement "cVar4 = FUN_00397bb0(plVar3,uVar21);" (assignment_expression "cVar4 = FUN_00397bb0(plVar3,uVar21)" identifier = (call_expression "FUN_00397bb0(plVar3,uVar21)" identifier (argument_list "(plVar3,uVar21)" ( identifier , identifier )))) ;) (if_statement "if (cVar4 != '\0') {\n                  lVar13 = *(long *)(param_1 + 0x28);\n                  if (lVar13 == 0) {\n                    /* try { // try from 003108c5 to 003108c9 has its CatchHandler @ 00310944 */\n                    FUN_002ed4a0();\n                    goto LAB_003108ca;\n                  }\n                  if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108a8 to 003108ac has its CatchHandler @ 00310944 */\n                    FUN_00352af0("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar9 = *(undefined8 *)(lVar13 + 8);\n                  iVar7 = *(int *)(lVar13 + 0x68);\n                  local_88 = (**(code **)(*plVar3 + 0x150))(plVar3,uVar21);\n                  local_88 = (int)uVar9 + 0x20 + iVar7 * 0x10 + local_88;\n                }" if (parenthesized_expression "(cVar4 != '\0')" ( (binary_expression "cVar4 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  lVar13 = *(long *)(param_1 + 0x28);\n                  if (lVar13 == 0) {\n                    /* try { // try from 003108c5 to 003108c9 has its CatchHandler @ 00310944 */\n                    FUN_002ed4a0();\n                    goto LAB_003108ca;\n                  }\n                  if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108a8 to 003108ac has its CatchHandler @ 00310944 */\n                    FUN_00352af0("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar9 = *(undefined8 *)(lVar13 + 8);\n                  iVar7 = *(int *)(lVar13 + 0x68);\n                  local_88 = (**(code **)(*plVar3 + 0x150))(plVar3,uVar21);\n                  local_88 = (int)uVar9 + 0x20 + iVar7 * 0x10 + local_88;\n                }" { (expression_statement "lVar13 = *(long *)(param_1 + 0x28);" (assignment_expression "lVar13 = *(long *)(param_1 + 0x28)" identifier = (pointer_expression "*(long *)(param_1 + 0x28)" * (cast_expression "(long *)(param_1 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) ))))) ;) (if_statement "if (lVar13 == 0) {\n                    /* try { // try from 003108c5 to 003108c9 has its CatchHandler @ 00310944 */\n                    FUN_002ed4a0();\n                    goto LAB_003108ca;\n                  }" if (parenthesized_expression "(lVar13 == 0)" ( (binary_expression "lVar13 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* try { // try from 003108c5 to 003108c9 has its CatchHandler @ 00310944 */\n                    FUN_002ed4a0();\n                    goto LAB_003108ca;\n                  }" { comment (expression_statement "FUN_002ed4a0();" (call_expression "FUN_002ed4a0()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_003108ca;" goto statement_identifier ;) })) (if_statement "if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108a8 to 003108ac has its CatchHandler @ 00310944 */\n                    FUN_00352af0("../../gold/output.h",0xc5,"address");\n                  }" if (parenthesized_expression "((*(byte *)(lVar13 + 0x20) & 1) == 0)" ( (binary_expression "(*(byte *)(lVar13 + 0x20) & 1) == 0" (parenthesized_expression "(*(byte *)(lVar13 + 0x20) & 1)" ( (binary_expression "*(byte *)(lVar13 + 0x20) & 1" (pointer_expression "*(byte *)(lVar13 + 0x20)" * (cast_expression "(byte *)(lVar13 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x20)" ( (binary_expression "lVar13 + 0x20" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108a8 to 003108ac has its CatchHandler @ 00310944 */\n                    FUN_00352af0("../../gold/output.h",0xc5,"address");\n                  }" { comment comment (expression_statement "FUN_00352af0("../../gold/output.h",0xc5,"address");" (call_expression "FUN_00352af0("../../gold/output.h",0xc5,"address")" identifier (argument_list "("../../gold/output.h",0xc5,"address")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""address"" " string_content ") ))) ;) })) (expression_statement "uVar9 = *(undefined8 *)(lVar13 + 8);" (assignment_expression "uVar9 = *(undefined8 *)(lVar13 + 8)" identifier = (pointer_expression "*(undefined8 *)(lVar13 + 8)" * (cast_expression "(undefined8 *)(lVar13 + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 8)" ( (binary_expression "lVar13 + 8" identifier + number_literal) ))))) ;) (expression_statement "iVar7 = *(int *)(lVar13 + 0x68);" (assignment_expression "iVar7 = *(int *)(lVar13 + 0x68)" identifier = (pointer_expression "*(int *)(lVar13 + 0x68)" * (cast_expression "(int *)(lVar13 + 0x68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x68)" ( (binary_expression "lVar13 + 0x68" identifier + number_literal) ))))) ;) (expression_statement "local_88 = (**(code **)(*plVar3 + 0x150))(plVar3,uVar21);" (assignment_expression "local_88 = (**(code **)(*plVar3 + 0x150))(plVar3,uVar21)" identifier = (call_expression "(**(code **)(*plVar3 + 0x150))(plVar3,uVar21)" (parenthesized_expression "(**(code **)(*plVar3 + 0x150))" ( (pointer_expression "**(code **)(*plVar3 + 0x150)" * (pointer_expression "*(code **)(*plVar3 + 0x150)" * (cast_expression "(code **)(*plVar3 + 0x150)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar3 + 0x150)" ( (binary_expression "*plVar3 + 0x150" (pointer_expression "*plVar3" * identifier) + number_literal) ))))) )) (argument_list "(plVar3,uVar21)" ( identifier , identifier )))) ;) (expression_statement "local_88 = (int)uVar9 + 0x20 + iVar7 * 0x10 + local_88;" (assignment_expression "local_88 = (int)uVar9 + 0x20 + iVar7 * 0x10 + local_88" identifier = (binary_expression "(int)uVar9 + 0x20 + iVar7 * 0x10 + local_88" (binary_expression "(int)uVar9 + 0x20 + iVar7 * 0x10" (binary_expression "(int)uVar9 + 0x20" (cast_expression "(int)uVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) + (binary_expression "iVar7 * 0x10" identifier * number_literal)) + identifier)) ;) })) })) }) (else_clause "else {\n                    /* try { // try from 003100df to 00310101 has its CatchHandler @ 00310944 */\n              cVar4 = FUN_00228fa0(puVar10,*(undefined4 *)(*DAT_0067dff8 + 0x4c));\n              if (cVar4 != '\0') {\n                if (*(long *)(param_1 + 0x28) == 0) {\n                    /* try { // try from 00310800 to 00310804 has its CatchHandler @ 00310944 */\n                  FUN_002ed4a0();\n                  goto LAB_00310805;\n                }\n                local_88 = FUN_002f9c90(*(long *)(param_1 + 0x28),puVar10);\n              }\n            }" else (compound_statement "{\n                    /* try { // try from 003100df to 00310101 has its CatchHandler @ 00310944 */\n              cVar4 = FUN_00228fa0(puVar10,*(undefined4 *)(*DAT_0067dff8 + 0x4c));\n              if (cVar4 != '\0') {\n                if (*(long *)(param_1 + 0x28) == 0) {\n                    /* try { // try from 00310800 to 00310804 has its CatchHandler @ 00310944 */\n                  FUN_002ed4a0();\n                  goto LAB_00310805;\n                }\n                local_88 = FUN_002f9c90(*(long *)(param_1 + 0x28),puVar10);\n              }\n            }" { comment (expression_statement "cVar4 = FUN_00228fa0(puVar10,*(undefined4 *)(*DAT_0067dff8 + 0x4c));" (assignment_expression "cVar4 = FUN_00228fa0(puVar10,*(undefined4 *)(*DAT_0067dff8 + 0x4c))" identifier = (call_expression "FUN_00228fa0(puVar10,*(undefined4 *)(*DAT_0067dff8 + 0x4c))" identifier (argument_list "(puVar10,*(undefined4 *)(*DAT_0067dff8 + 0x4c))" ( identifier , (pointer_expression "*(undefined4 *)(*DAT_0067dff8 + 0x4c)" * (cast_expression "(undefined4 *)(*DAT_0067dff8 + 0x4c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*DAT_0067dff8 + 0x4c)" ( (binary_expression "*DAT_0067dff8 + 0x4c" (pointer_expression "*DAT_0067dff8" * identifier) + number_literal) )))) )))) ;) (if_statement "if (cVar4 != '\0') {\n                if (*(long *)(param_1 + 0x28) == 0) {\n                    /* try { // try from 00310800 to 00310804 has its CatchHandler @ 00310944 */\n                  FUN_002ed4a0();\n                  goto LAB_00310805;\n                }\n                local_88 = FUN_002f9c90(*(long *)(param_1 + 0x28),puVar10);\n              }" if (parenthesized_expression "(cVar4 != '\0')" ( (binary_expression "cVar4 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                if (*(long *)(param_1 + 0x28) == 0) {\n                    /* try { // try from 00310800 to 00310804 has its CatchHandler @ 00310944 */\n                  FUN_002ed4a0();\n                  goto LAB_00310805;\n                }\n                local_88 = FUN_002f9c90(*(long *)(param_1 + 0x28),puVar10);\n              }" { (if_statement "if (*(long *)(param_1 + 0x28) == 0) {\n                    /* try { // try from 00310800 to 00310804 has its CatchHandler @ 00310944 */\n                  FUN_002ed4a0();\n                  goto LAB_00310805;\n                }" if (parenthesized_expression "(*(long *)(param_1 + 0x28) == 0)" ( (binary_expression "*(long *)(param_1 + 0x28) == 0" (pointer_expression "*(long *)(param_1 + 0x28)" * (cast_expression "(long *)(param_1 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    /* try { // try from 00310800 to 00310804 has its CatchHandler @ 00310944 */\n                  FUN_002ed4a0();\n                  goto LAB_00310805;\n                }" { comment (expression_statement "FUN_002ed4a0();" (call_expression "FUN_002ed4a0()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_00310805;" goto statement_identifier ;) })) (expression_statement "local_88 = FUN_002f9c90(*(long *)(param_1 + 0x28),puVar10);" (assignment_expression "local_88 = FUN_002f9c90(*(long *)(param_1 + 0x28),puVar10)" identifier = (call_expression "FUN_002f9c90(*(long *)(param_1 + 0x28),puVar10)" identifier (argument_list "(*(long *)(param_1 + 0x28),puVar10)" ( (pointer_expression "*(long *)(param_1 + 0x28)" * (cast_expression "(long *)(param_1 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) )))) , identifier )))) ;) })) }))) (expression_statement "FUN_001a5bc0(&local_98);" (call_expression "FUN_001a5bc0(&local_98)" identifier (argument_list "(&local_98)" ( (pointer_expression "&local_98" & identifier) ))) ;) }))) (if_statement "if (puVar10 != (undefined8 *)0x0) {\n            bVar16 = *(byte *)((long)puVar10 + 0x3a);\n            bVar5 = bVar16 & 7;\n            if ((bVar16 & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) != 0) || ((*(byte *)((long)puVar10 + 0x3b) & 0x20) == 0)) {\n                if (*(code **)(*(long *)puVar10[2] + 0x28) != FUN_001a4aa0) {\n                  lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                  if (lVar13 != 0) {\n                    bVar16 = *(byte *)((long)puVar10 + 0x3a);\n                    bVar5 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar5 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)puVar10 + 0x3b)) goto LAB_00310305;\n                    bVar5 = *(byte *)((long)puVar10 + 0x39);\n                    if ((bVar5 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }\nLAB_0031015a:\n                bVar16 = bVar16 & 7;\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                if ((*(byte *)((long)puVar10 + 0x39) & 3) == 0) goto LAB_003101c0;\nLAB_00310166:\n                if (((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)\n                    ) && ((*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0)))) {\nLAB_00310293:\n                  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_003108ca:\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108dd to 003108e1 has its CatchHandler @ 00310922 */\n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') {\n                    if (bVar16 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)(puVar10[2] + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }\n                if (bVar5 == 2) {\n                  uVar9 = gettext("hidden");\n                }\n                else if (bVar5 < 3) {\n                  if (bVar5 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar9 = gettext("internal");\n                }\n                else {\n                  uVar9 = gettext("protected");\n                }\n                uVar11 = *puVar10;\n                uVar12 = gettext("%s symbol \'%s\' is not defined locally");\n                    /* try { // try from 003101b4 to 0031042c has its CatchHandler @ 00310922 */\n                FUN_0034a750(uVar12,uVar9,uVar11);\n                goto LAB_003101c0;\n              }\nLAB_0031020c:\n              if ((*(byte *)(puVar10 + 7) >> 4 == 2) || ((*(byte *)((long)puVar10 + 0x3c) & 2) != 0)\n                 ) {\nLAB_00310438:\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_0031043f:\n                if (bVar5 == 0) goto LAB_003101c0;\n                bVar16 = *(byte *)((long)puVar10 + 0x3a) & 7;\n                if (bVar16 != 0) goto LAB_00310270;\n                goto LAB_00310166;\n              }\n              if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310878 to 0031087c has its CatchHandler @ 00310922 */\n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') goto LAB_00310438;\n              if (*(char *)((long)puVar10 + 0x3b) < '\0') {\n                if (bVar5 != 0) goto LAB_00310260;\nLAB_003105b8:\n                if (*(code **)(*(long *)puVar10[2] + 0x28) == FUN_001a4aa0) goto LAB_0031015a;\n                    /* try { // try from 003105cc to 003105cd has its CatchHandler @ 00310922 */\n                lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                if (lVar13 == 0) goto LAB_00310438;\n              }\nLAB_00310305:\n              plVar3 = *(long **)(PTR_DAT_0067cb08 + 0x18);\n              if (plVar3 == (long *)0x0) {\nLAB_00310805:\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310818 to 0031084c has its CatchHandler @ 00310922 */\n                FUN_00352af0("../../gold/parameters.h",0x69,"target");\n              }\n              if ((*(code **)(*plVar3 + 0x38) != FUN_001a49e0) &&\n                 (cVar4 = (**(code **)(*plVar3 + 0x38))(plVar3,puVar10), cVar4 != '\0'))\n              goto LAB_00310438;\n              lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar13 == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              pbVar18 = *(byte **)(lVar13 + 0x6c40);\n              bVar24 = false;\n              bVar26 = pbVar18 == (byte *)0x0;\n              if (bVar26) {\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_003103c9:\n                if ((bVar5 == 2) ||\n                   ((*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0'))))\n                goto LAB_003103e1;\n                goto LAB_0031043f;\n              }\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"ignore-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar24 = *pbVar19 < *pbVar20;\n                bVar26 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar26);\n              bVar25 = false;\n              bVar24 = (!bVar24 && !bVar26) == bVar24;\n              if (bVar24) goto LAB_00310438;\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"report-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar25 = *pbVar19 < *pbVar20;\n                bVar24 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar15 = 0x17;\n                pbVar19 = pbVar18;\n                pbVar20 = (byte *)"ignore-in-object-files";\n                do {\n                  if (lVar15 == 0) break;\n                  lVar15 = lVar15 + -1;\n                  bVar26 = *pbVar19 < *pbVar20;\n                  bVar24 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if ((!bVar24) || (bVar24 = (*(byte *)((long)puVar10 + 0x3b) & 1) == 0, !bVar24)) {\n                  bVar26 = false;\n                  lVar15 = 0x16;\n                  pbVar19 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    if (lVar15 == 0) break;\n                    lVar15 = lVar15 + -1;\n                    bVar26 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  if (((!bVar26 && !bVar24) != bVar26) || (*(char *)((long)puVar10 + 0x3a) < '\0'))\n                  goto LAB_003103c9;\n                }\n                goto LAB_0031043f;\n              }\nLAB_003103e1:\n              FUN_0034b9f0(puVar10,param_2,local_148,local_140);\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            else {\n              if (bVar5 == 4) goto LAB_0031020c;\nLAB_00310260:\n              bVar5 = *(byte *)((long)puVar10 + 0x39);\n              if ((bVar5 & 3) != 0) {\nLAB_0031026d:\n                bVar5 = bVar5 & 3;\n                bVar16 = bVar16 & 7;\nLAB_00310270:\n                if (((bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2)) &&\n                   (bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0)) goto LAB_00310293;\n              }\nLAB_003101c0:\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            if ((bVar16 & 4) != 0) {\n              FUN_00446c20(*param_2 + 0x1e0,puVar10,param_2,local_148,local_140);\n            }\n          }" if (parenthesized_expression "(puVar10 != (undefined8 *)0x0)" ( (binary_expression "puVar10 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            bVar16 = *(byte *)((long)puVar10 + 0x3a);\n            bVar5 = bVar16 & 7;\n            if ((bVar16 & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) != 0) || ((*(byte *)((long)puVar10 + 0x3b) & 0x20) == 0)) {\n                if (*(code **)(*(long *)puVar10[2] + 0x28) != FUN_001a4aa0) {\n                  lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                  if (lVar13 != 0) {\n                    bVar16 = *(byte *)((long)puVar10 + 0x3a);\n                    bVar5 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar5 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)puVar10 + 0x3b)) goto LAB_00310305;\n                    bVar5 = *(byte *)((long)puVar10 + 0x39);\n                    if ((bVar5 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }\nLAB_0031015a:\n                bVar16 = bVar16 & 7;\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                if ((*(byte *)((long)puVar10 + 0x39) & 3) == 0) goto LAB_003101c0;\nLAB_00310166:\n                if (((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)\n                    ) && ((*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0)))) {\nLAB_00310293:\n                  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_003108ca:\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108dd to 003108e1 has its CatchHandler @ 00310922 */\n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') {\n                    if (bVar16 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)(puVar10[2] + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }\n                if (bVar5 == 2) {\n                  uVar9 = gettext("hidden");\n                }\n                else if (bVar5 < 3) {\n                  if (bVar5 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar9 = gettext("internal");\n                }\n                else {\n                  uVar9 = gettext("protected");\n                }\n                uVar11 = *puVar10;\n                uVar12 = gettext("%s symbol \'%s\' is not defined locally");\n                    /* try { // try from 003101b4 to 0031042c has its CatchHandler @ 00310922 */\n                FUN_0034a750(uVar12,uVar9,uVar11);\n                goto LAB_003101c0;\n              }\nLAB_0031020c:\n              if ((*(byte *)(puVar10 + 7) >> 4 == 2) || ((*(byte *)((long)puVar10 + 0x3c) & 2) != 0)\n                 ) {\nLAB_00310438:\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_0031043f:\n                if (bVar5 == 0) goto LAB_003101c0;\n                bVar16 = *(byte *)((long)puVar10 + 0x3a) & 7;\n                if (bVar16 != 0) goto LAB_00310270;\n                goto LAB_00310166;\n              }\n              if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310878 to 0031087c has its CatchHandler @ 00310922 */\n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') goto LAB_00310438;\n              if (*(char *)((long)puVar10 + 0x3b) < '\0') {\n                if (bVar5 != 0) goto LAB_00310260;\nLAB_003105b8:\n                if (*(code **)(*(long *)puVar10[2] + 0x28) == FUN_001a4aa0) goto LAB_0031015a;\n                    /* try { // try from 003105cc to 003105cd has its CatchHandler @ 00310922 */\n                lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                if (lVar13 == 0) goto LAB_00310438;\n              }\nLAB_00310305:\n              plVar3 = *(long **)(PTR_DAT_0067cb08 + 0x18);\n              if (plVar3 == (long *)0x0) {\nLAB_00310805:\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310818 to 0031084c has its CatchHandler @ 00310922 */\n                FUN_00352af0("../../gold/parameters.h",0x69,"target");\n              }\n              if ((*(code **)(*plVar3 + 0x38) != FUN_001a49e0) &&\n                 (cVar4 = (**(code **)(*plVar3 + 0x38))(plVar3,puVar10), cVar4 != '\0'))\n              goto LAB_00310438;\n              lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar13 == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              pbVar18 = *(byte **)(lVar13 + 0x6c40);\n              bVar24 = false;\n              bVar26 = pbVar18 == (byte *)0x0;\n              if (bVar26) {\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_003103c9:\n                if ((bVar5 == 2) ||\n                   ((*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0'))))\n                goto LAB_003103e1;\n                goto LAB_0031043f;\n              }\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"ignore-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar24 = *pbVar19 < *pbVar20;\n                bVar26 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar26);\n              bVar25 = false;\n              bVar24 = (!bVar24 && !bVar26) == bVar24;\n              if (bVar24) goto LAB_00310438;\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"report-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar25 = *pbVar19 < *pbVar20;\n                bVar24 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar15 = 0x17;\n                pbVar19 = pbVar18;\n                pbVar20 = (byte *)"ignore-in-object-files";\n                do {\n                  if (lVar15 == 0) break;\n                  lVar15 = lVar15 + -1;\n                  bVar26 = *pbVar19 < *pbVar20;\n                  bVar24 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if ((!bVar24) || (bVar24 = (*(byte *)((long)puVar10 + 0x3b) & 1) == 0, !bVar24)) {\n                  bVar26 = false;\n                  lVar15 = 0x16;\n                  pbVar19 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    if (lVar15 == 0) break;\n                    lVar15 = lVar15 + -1;\n                    bVar26 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  if (((!bVar26 && !bVar24) != bVar26) || (*(char *)((long)puVar10 + 0x3a) < '\0'))\n                  goto LAB_003103c9;\n                }\n                goto LAB_0031043f;\n              }\nLAB_003103e1:\n              FUN_0034b9f0(puVar10,param_2,local_148,local_140);\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            else {\n              if (bVar5 == 4) goto LAB_0031020c;\nLAB_00310260:\n              bVar5 = *(byte *)((long)puVar10 + 0x39);\n              if ((bVar5 & 3) != 0) {\nLAB_0031026d:\n                bVar5 = bVar5 & 3;\n                bVar16 = bVar16 & 7;\nLAB_00310270:\n                if (((bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2)) &&\n                   (bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0)) goto LAB_00310293;\n              }\nLAB_003101c0:\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            if ((bVar16 & 4) != 0) {\n              FUN_00446c20(*param_2 + 0x1e0,puVar10,param_2,local_148,local_140);\n            }\n          }" { (expression_statement "bVar16 = *(byte *)((long)puVar10 + 0x3a);" (assignment_expression "bVar16 = *(byte *)((long)puVar10 + 0x3a)" identifier = (pointer_expression "*(byte *)((long)puVar10 + 0x3a)" * (cast_expression "(byte *)((long)puVar10 + 0x3a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar10 + 0x3a)" ( (binary_expression "(long)puVar10 + 0x3a" (cast_expression "(long)puVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (expression_statement "bVar5 = bVar16 & 7;" (assignment_expression "bVar5 = bVar16 & 7" identifier = (binary_expression "bVar16 & 7" identifier & number_literal)) ;) (if_statement "if ((bVar16 & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) != 0) || ((*(byte *)((long)puVar10 + 0x3b) & 0x20) == 0)) {\n                if (*(code **)(*(long *)puVar10[2] + 0x28) != FUN_001a4aa0) {\n                  lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                  if (lVar13 != 0) {\n                    bVar16 = *(byte *)((long)puVar10 + 0x3a);\n                    bVar5 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar5 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)puVar10 + 0x3b)) goto LAB_00310305;\n                    bVar5 = *(byte *)((long)puVar10 + 0x39);\n                    if ((bVar5 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }\nLAB_0031015a:\n                bVar16 = bVar16 & 7;\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                if ((*(byte *)((long)puVar10 + 0x39) & 3) == 0) goto LAB_003101c0;\nLAB_00310166:\n                if (((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)\n                    ) && ((*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0)))) {\nLAB_00310293:\n                  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_003108ca:\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108dd to 003108e1 has its CatchHandler @ 00310922 */\n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') {\n                    if (bVar16 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)(puVar10[2] + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }\n                if (bVar5 == 2) {\n                  uVar9 = gettext("hidden");\n                }\n                else if (bVar5 < 3) {\n                  if (bVar5 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar9 = gettext("internal");\n                }\n                else {\n                  uVar9 = gettext("protected");\n                }\n                uVar11 = *puVar10;\n                uVar12 = gettext("%s symbol \'%s\' is not defined locally");\n                    /* try { // try from 003101b4 to 0031042c has its CatchHandler @ 00310922 */\n                FUN_0034a750(uVar12,uVar9,uVar11);\n                goto LAB_003101c0;\n              }\nLAB_0031020c:\n              if ((*(byte *)(puVar10 + 7) >> 4 == 2) || ((*(byte *)((long)puVar10 + 0x3c) & 2) != 0)\n                 ) {\nLAB_00310438:\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_0031043f:\n                if (bVar5 == 0) goto LAB_003101c0;\n                bVar16 = *(byte *)((long)puVar10 + 0x3a) & 7;\n                if (bVar16 != 0) goto LAB_00310270;\n                goto LAB_00310166;\n              }\n              if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310878 to 0031087c has its CatchHandler @ 00310922 */\n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') goto LAB_00310438;\n              if (*(char *)((long)puVar10 + 0x3b) < '\0') {\n                if (bVar5 != 0) goto LAB_00310260;\nLAB_003105b8:\n                if (*(code **)(*(long *)puVar10[2] + 0x28) == FUN_001a4aa0) goto LAB_0031015a;\n                    /* try { // try from 003105cc to 003105cd has its CatchHandler @ 00310922 */\n                lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                if (lVar13 == 0) goto LAB_00310438;\n              }\nLAB_00310305:\n              plVar3 = *(long **)(PTR_DAT_0067cb08 + 0x18);\n              if (plVar3 == (long *)0x0) {\nLAB_00310805:\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310818 to 0031084c has its CatchHandler @ 00310922 */\n                FUN_00352af0("../../gold/parameters.h",0x69,"target");\n              }\n              if ((*(code **)(*plVar3 + 0x38) != FUN_001a49e0) &&\n                 (cVar4 = (**(code **)(*plVar3 + 0x38))(plVar3,puVar10), cVar4 != '\0'))\n              goto LAB_00310438;\n              lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar13 == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              pbVar18 = *(byte **)(lVar13 + 0x6c40);\n              bVar24 = false;\n              bVar26 = pbVar18 == (byte *)0x0;\n              if (bVar26) {\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_003103c9:\n                if ((bVar5 == 2) ||\n                   ((*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0'))))\n                goto LAB_003103e1;\n                goto LAB_0031043f;\n              }\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"ignore-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar24 = *pbVar19 < *pbVar20;\n                bVar26 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar26);\n              bVar25 = false;\n              bVar24 = (!bVar24 && !bVar26) == bVar24;\n              if (bVar24) goto LAB_00310438;\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"report-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar25 = *pbVar19 < *pbVar20;\n                bVar24 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar15 = 0x17;\n                pbVar19 = pbVar18;\n                pbVar20 = (byte *)"ignore-in-object-files";\n                do {\n                  if (lVar15 == 0) break;\n                  lVar15 = lVar15 + -1;\n                  bVar26 = *pbVar19 < *pbVar20;\n                  bVar24 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if ((!bVar24) || (bVar24 = (*(byte *)((long)puVar10 + 0x3b) & 1) == 0, !bVar24)) {\n                  bVar26 = false;\n                  lVar15 = 0x16;\n                  pbVar19 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    if (lVar15 == 0) break;\n                    lVar15 = lVar15 + -1;\n                    bVar26 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  if (((!bVar26 && !bVar24) != bVar26) || (*(char *)((long)puVar10 + 0x3a) < '\0'))\n                  goto LAB_003103c9;\n                }\n                goto LAB_0031043f;\n              }\nLAB_003103e1:\n              FUN_0034b9f0(puVar10,param_2,local_148,local_140);\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            else {\n              if (bVar5 == 4) goto LAB_0031020c;\nLAB_00310260:\n              bVar5 = *(byte *)((long)puVar10 + 0x39);\n              if ((bVar5 & 3) != 0) {\nLAB_0031026d:\n                bVar5 = bVar5 & 3;\n                bVar16 = bVar16 & 7;\nLAB_00310270:\n                if (((bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2)) &&\n                   (bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0)) goto LAB_00310293;\n              }\nLAB_003101c0:\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }" if (parenthesized_expression "((bVar16 & 7) == 0)" ( (binary_expression "(bVar16 & 7) == 0" (parenthesized_expression "(bVar16 & 7)" ( (binary_expression "bVar16 & 7" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n              if ((*(int *)(puVar10 + 3) != 0) || ((*(byte *)((long)puVar10 + 0x3b) & 0x20) == 0)) {\n                if (*(code **)(*(long *)puVar10[2] + 0x28) != FUN_001a4aa0) {\n                  lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                  if (lVar13 != 0) {\n                    bVar16 = *(byte *)((long)puVar10 + 0x3a);\n                    bVar5 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar5 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)puVar10 + 0x3b)) goto LAB_00310305;\n                    bVar5 = *(byte *)((long)puVar10 + 0x39);\n                    if ((bVar5 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }\nLAB_0031015a:\n                bVar16 = bVar16 & 7;\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                if ((*(byte *)((long)puVar10 + 0x39) & 3) == 0) goto LAB_003101c0;\nLAB_00310166:\n                if (((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)\n                    ) && ((*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0)))) {\nLAB_00310293:\n                  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_003108ca:\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108dd to 003108e1 has its CatchHandler @ 00310922 */\n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') {\n                    if (bVar16 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)(puVar10[2] + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }\n                if (bVar5 == 2) {\n                  uVar9 = gettext("hidden");\n                }\n                else if (bVar5 < 3) {\n                  if (bVar5 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar9 = gettext("internal");\n                }\n                else {\n                  uVar9 = gettext("protected");\n                }\n                uVar11 = *puVar10;\n                uVar12 = gettext("%s symbol \'%s\' is not defined locally");\n                    /* try { // try from 003101b4 to 0031042c has its CatchHandler @ 00310922 */\n                FUN_0034a750(uVar12,uVar9,uVar11);\n                goto LAB_003101c0;\n              }\nLAB_0031020c:\n              if ((*(byte *)(puVar10 + 7) >> 4 == 2) || ((*(byte *)((long)puVar10 + 0x3c) & 2) != 0)\n                 ) {\nLAB_00310438:\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_0031043f:\n                if (bVar5 == 0) goto LAB_003101c0;\n                bVar16 = *(byte *)((long)puVar10 + 0x3a) & 7;\n                if (bVar16 != 0) goto LAB_00310270;\n                goto LAB_00310166;\n              }\n              if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310878 to 0031087c has its CatchHandler @ 00310922 */\n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') goto LAB_00310438;\n              if (*(char *)((long)puVar10 + 0x3b) < '\0') {\n                if (bVar5 != 0) goto LAB_00310260;\nLAB_003105b8:\n                if (*(code **)(*(long *)puVar10[2] + 0x28) == FUN_001a4aa0) goto LAB_0031015a;\n                    /* try { // try from 003105cc to 003105cd has its CatchHandler @ 00310922 */\n                lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                if (lVar13 == 0) goto LAB_00310438;\n              }\nLAB_00310305:\n              plVar3 = *(long **)(PTR_DAT_0067cb08 + 0x18);\n              if (plVar3 == (long *)0x0) {\nLAB_00310805:\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310818 to 0031084c has its CatchHandler @ 00310922 */\n                FUN_00352af0("../../gold/parameters.h",0x69,"target");\n              }\n              if ((*(code **)(*plVar3 + 0x38) != FUN_001a49e0) &&\n                 (cVar4 = (**(code **)(*plVar3 + 0x38))(plVar3,puVar10), cVar4 != '\0'))\n              goto LAB_00310438;\n              lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar13 == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              pbVar18 = *(byte **)(lVar13 + 0x6c40);\n              bVar24 = false;\n              bVar26 = pbVar18 == (byte *)0x0;\n              if (bVar26) {\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_003103c9:\n                if ((bVar5 == 2) ||\n                   ((*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0'))))\n                goto LAB_003103e1;\n                goto LAB_0031043f;\n              }\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"ignore-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar24 = *pbVar19 < *pbVar20;\n                bVar26 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar26);\n              bVar25 = false;\n              bVar24 = (!bVar24 && !bVar26) == bVar24;\n              if (bVar24) goto LAB_00310438;\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"report-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar25 = *pbVar19 < *pbVar20;\n                bVar24 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar15 = 0x17;\n                pbVar19 = pbVar18;\n                pbVar20 = (byte *)"ignore-in-object-files";\n                do {\n                  if (lVar15 == 0) break;\n                  lVar15 = lVar15 + -1;\n                  bVar26 = *pbVar19 < *pbVar20;\n                  bVar24 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if ((!bVar24) || (bVar24 = (*(byte *)((long)puVar10 + 0x3b) & 1) == 0, !bVar24)) {\n                  bVar26 = false;\n                  lVar15 = 0x16;\n                  pbVar19 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    if (lVar15 == 0) break;\n                    lVar15 = lVar15 + -1;\n                    bVar26 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  if (((!bVar26 && !bVar24) != bVar26) || (*(char *)((long)puVar10 + 0x3a) < '\0'))\n                  goto LAB_003103c9;\n                }\n                goto LAB_0031043f;\n              }\nLAB_003103e1:\n              FUN_0034b9f0(puVar10,param_2,local_148,local_140);\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }" { (if_statement "if ((*(int *)(puVar10 + 3) != 0) || ((*(byte *)((long)puVar10 + 0x3b) & 0x20) == 0)) {\n                if (*(code **)(*(long *)puVar10[2] + 0x28) != FUN_001a4aa0) {\n                  lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                  if (lVar13 != 0) {\n                    bVar16 = *(byte *)((long)puVar10 + 0x3a);\n                    bVar5 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar5 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)puVar10 + 0x3b)) goto LAB_00310305;\n                    bVar5 = *(byte *)((long)puVar10 + 0x39);\n                    if ((bVar5 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }\nLAB_0031015a:\n                bVar16 = bVar16 & 7;\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                if ((*(byte *)((long)puVar10 + 0x39) & 3) == 0) goto LAB_003101c0;\nLAB_00310166:\n                if (((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)\n                    ) && ((*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0)))) {\nLAB_00310293:\n                  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_003108ca:\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108dd to 003108e1 has its CatchHandler @ 00310922 */\n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') {\n                    if (bVar16 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)(puVar10[2] + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }\n                if (bVar5 == 2) {\n                  uVar9 = gettext("hidden");\n                }\n                else if (bVar5 < 3) {\n                  if (bVar5 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar9 = gettext("internal");\n                }\n                else {\n                  uVar9 = gettext("protected");\n                }\n                uVar11 = *puVar10;\n                uVar12 = gettext("%s symbol \'%s\' is not defined locally");\n                    /* try { // try from 003101b4 to 0031042c has its CatchHandler @ 00310922 */\n                FUN_0034a750(uVar12,uVar9,uVar11);\n                goto LAB_003101c0;\n              }" if (parenthesized_expression "((*(int *)(puVar10 + 3) != 0) || ((*(byte *)((long)puVar10 + 0x3b) & 0x20) == 0))" ( (binary_expression "(*(int *)(puVar10 + 3) != 0) || ((*(byte *)((long)puVar10 + 0x3b) & 0x20) == 0)" (parenthesized_expression "(*(int *)(puVar10 + 3) != 0)" ( (binary_expression "*(int *)(puVar10 + 3) != 0" (pointer_expression "*(int *)(puVar10 + 3)" * (cast_expression "(int *)(puVar10 + 3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 3)" ( (binary_expression "puVar10 + 3" identifier + number_literal) )))) != number_literal) )) || (parenthesized_expression "((*(byte *)((long)puVar10 + 0x3b) & 0x20) == 0)" ( (binary_expression "(*(byte *)((long)puVar10 + 0x3b) & 0x20) == 0" (parenthesized_expression "(*(byte *)((long)puVar10 + 0x3b) & 0x20)" ( (binary_expression "*(byte *)((long)puVar10 + 0x3b) & 0x20" (pointer_expression "*(byte *)((long)puVar10 + 0x3b)" * (cast_expression "(byte *)((long)puVar10 + 0x3b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar10 + 0x3b)" ( (binary_expression "(long)puVar10 + 0x3b" (cast_expression "(long)puVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n                if (*(code **)(*(long *)puVar10[2] + 0x28) != FUN_001a4aa0) {\n                  lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                  if (lVar13 != 0) {\n                    bVar16 = *(byte *)((long)puVar10 + 0x3a);\n                    bVar5 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar5 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)puVar10 + 0x3b)) goto LAB_00310305;\n                    bVar5 = *(byte *)((long)puVar10 + 0x39);\n                    if ((bVar5 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }\nLAB_0031015a:\n                bVar16 = bVar16 & 7;\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                if ((*(byte *)((long)puVar10 + 0x39) & 3) == 0) goto LAB_003101c0;\nLAB_00310166:\n                if (((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)\n                    ) && ((*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0)))) {\nLAB_00310293:\n                  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_003108ca:\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108dd to 003108e1 has its CatchHandler @ 00310922 */\n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') {\n                    if (bVar16 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)(puVar10[2] + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }\n                if (bVar5 == 2) {\n                  uVar9 = gettext("hidden");\n                }\n                else if (bVar5 < 3) {\n                  if (bVar5 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar9 = gettext("internal");\n                }\n                else {\n                  uVar9 = gettext("protected");\n                }\n                uVar11 = *puVar10;\n                uVar12 = gettext("%s symbol \'%s\' is not defined locally");\n                    /* try { // try from 003101b4 to 0031042c has its CatchHandler @ 00310922 */\n                FUN_0034a750(uVar12,uVar9,uVar11);\n                goto LAB_003101c0;\n              }" { (if_statement "if (*(code **)(*(long *)puVar10[2] + 0x28) != FUN_001a4aa0) {\n                  lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                  if (lVar13 != 0) {\n                    bVar16 = *(byte *)((long)puVar10 + 0x3a);\n                    bVar5 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar5 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)puVar10 + 0x3b)) goto LAB_00310305;\n                    bVar5 = *(byte *)((long)puVar10 + 0x39);\n                    if ((bVar5 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }" if (parenthesized_expression "(*(code **)(*(long *)puVar10[2] + 0x28) != FUN_001a4aa0)" ( (binary_expression "*(code **)(*(long *)puVar10[2] + 0x28) != FUN_001a4aa0" (pointer_expression "*(code **)(*(long *)puVar10[2] + 0x28)" * (cast_expression "(code **)(*(long *)puVar10[2] + 0x28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)puVar10[2] + 0x28)" ( (binary_expression "*(long *)puVar10[2] + 0x28" (pointer_expression "*(long *)puVar10[2]" * (cast_expression "(long *)puVar10[2]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar10[2]" identifier [ number_literal ]))) + number_literal) )))) != identifier) )) (compound_statement "{\n                  lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                  if (lVar13 != 0) {\n                    bVar16 = *(byte *)((long)puVar10 + 0x3a);\n                    bVar5 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar5 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)puVar10 + 0x3b)) goto LAB_00310305;\n                    bVar5 = *(byte *)((long)puVar10 + 0x39);\n                    if ((bVar5 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }" { (expression_statement "lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();" (assignment_expression "lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))()" identifier = (call_expression "(**(code **)(*(long *)puVar10[2] + 0x28))()" (parenthesized_expression "(**(code **)(*(long *)puVar10[2] + 0x28))" ( (pointer_expression "**(code **)(*(long *)puVar10[2] + 0x28)" * (pointer_expression "*(code **)(*(long *)puVar10[2] + 0x28)" * (cast_expression "(code **)(*(long *)puVar10[2] + 0x28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)puVar10[2] + 0x28)" ( (binary_expression "*(long *)puVar10[2] + 0x28" (pointer_expression "*(long *)puVar10[2]" * (cast_expression "(long *)puVar10[2]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar10[2]" identifier [ number_literal ]))) + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (lVar13 != 0) {\n                    bVar16 = *(byte *)((long)puVar10 + 0x3a);\n                    bVar5 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar5 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)puVar10 + 0x3b)) goto LAB_00310305;\n                    bVar5 = *(byte *)((long)puVar10 + 0x39);\n                    if ((bVar5 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }" if (parenthesized_expression "(lVar13 != 0)" ( (binary_expression "lVar13 != 0" identifier != number_literal) )) (compound_statement "{\n                    bVar16 = *(byte *)((long)puVar10 + 0x3a);\n                    bVar5 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar5 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)puVar10 + 0x3b)) goto LAB_00310305;\n                    bVar5 = *(byte *)((long)puVar10 + 0x39);\n                    if ((bVar5 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }" { (expression_statement "bVar16 = *(byte *)((long)puVar10 + 0x3a);" (assignment_expression "bVar16 = *(byte *)((long)puVar10 + 0x3a)" identifier = (pointer_expression "*(byte *)((long)puVar10 + 0x3a)" * (cast_expression "(byte *)((long)puVar10 + 0x3a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar10 + 0x3a)" ( (binary_expression "(long)puVar10 + 0x3a" (cast_expression "(long)puVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (expression_statement "bVar5 = bVar16 & 7;" (assignment_expression "bVar5 = bVar16 & 7" identifier = (binary_expression "bVar16 & 7" identifier & number_literal)) ;) (if_statement "if ((bVar16 & 7) == 0) {\n                      if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }" if (parenthesized_expression "((bVar16 & 7) == 0)" ( (binary_expression "(bVar16 & 7) == 0" (parenthesized_expression "(bVar16 & 7)" ( (binary_expression "bVar16 & 7" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                      if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }" { (if_statement "if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;" if (parenthesized_expression "((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0))" ( (binary_expression "(*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)" (parenthesized_expression "(*(int *)(puVar10 + 3) == 0)" ( (binary_expression "*(int *)(puVar10 + 3) == 0" (pointer_expression "*(int *)(puVar10 + 3)" * (cast_expression "(int *)(puVar10 + 3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 3)" ( (binary_expression "puVar10 + 3" identifier + number_literal) )))) == number_literal) )) && (parenthesized_expression "((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)" ( (binary_expression "(*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0" (parenthesized_expression "(*(byte *)((long)puVar10 + 0x3b) & 0x20)" ( (binary_expression "*(byte *)((long)puVar10 + 0x3b) & 0x20" (pointer_expression "*(byte *)((long)puVar10 + 0x3b)" * (cast_expression "(byte *)((long)puVar10 + 0x3b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar10 + 0x3b)" ( (binary_expression "(long)puVar10 + 0x3b" (cast_expression "(long)puVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) ))) )) (goto_statement "goto LAB_0031020c;" goto statement_identifier ;)) (if_statement "if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;" if (parenthesized_expression "((char)*(byte *)((long)puVar10 + 0x3b) < '\0')" ( (binary_expression "(char)*(byte *)((long)puVar10 + 0x3b) < '\0'" (cast_expression "(char)*(byte *)((long)puVar10 + 0x3b)" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(byte *)((long)puVar10 + 0x3b)" * (cast_expression "(byte *)((long)puVar10 + 0x3b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar10 + 0x3b)" ( (binary_expression "(long)puVar10 + 0x3b" (cast_expression "(long)puVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) < (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_003105b8;" goto statement_identifier ;)) (goto_statement "goto LAB_00310305;" goto statement_identifier ;) })) (if_statement "if (bVar5 == 4) goto LAB_0031020c;" if (parenthesized_expression "(bVar5 == 4)" ( (binary_expression "bVar5 == 4" identifier == number_literal) )) (goto_statement "goto LAB_0031020c;" goto statement_identifier ;)) (if_statement "if (-1 < *(char *)((long)puVar10 + 0x3b)) goto LAB_00310305;" if (parenthesized_expression "(-1 < *(char *)((long)puVar10 + 0x3b))" ( (binary_expression "-1 < *(char *)((long)puVar10 + 0x3b)" number_literal < (pointer_expression "*(char *)((long)puVar10 + 0x3b)" * (cast_expression "(char *)((long)puVar10 + 0x3b)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar10 + 0x3b)" ( (binary_expression "(long)puVar10 + 0x3b" (cast_expression "(long)puVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) )) (goto_statement "goto LAB_00310305;" goto statement_identifier ;)) (expression_statement "bVar5 = *(byte *)((long)puVar10 + 0x39);" (assignment_expression "bVar5 = *(byte *)((long)puVar10 + 0x39)" identifier = (pointer_expression "*(byte *)((long)puVar10 + 0x39)" * (cast_expression "(byte *)((long)puVar10 + 0x39)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar10 + 0x39)" ( (binary_expression "(long)puVar10 + 0x39" (cast_expression "(long)puVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (if_statement "if ((bVar5 & 3) == 0) goto LAB_003101c0;" if (parenthesized_expression "((bVar5 & 3) == 0)" ( (binary_expression "(bVar5 & 3) == 0" (parenthesized_expression "(bVar5 & 3)" ( (binary_expression "bVar5 & 3" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_003101c0;" goto statement_identifier ;)) (goto_statement "goto LAB_0031026d;" goto statement_identifier ;) })) (goto_statement "goto LAB_00310438;" goto statement_identifier ;) })) (labeled_statement "LAB_0031015a:\n                bVar16 = bVar16 & 7;" statement_identifier : (expression_statement "bVar16 = bVar16 & 7;" (assignment_expression "bVar16 = bVar16 & 7" identifier = (binary_expression "bVar16 & 7" identifier & number_literal)) ;)) (expression_statement "bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;" (assignment_expression "bVar5 = *(byte *)((long)puVar10 + 0x39) & 3" identifier = (binary_expression "*(byte *)((long)puVar10 + 0x39) & 3" (pointer_expression "*(byte *)((long)puVar10 + 0x39)" * (cast_expression "(byte *)((long)puVar10 + 0x39)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar10 + 0x39)" ( (binary_expression "(long)puVar10 + 0x39" (cast_expression "(long)puVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal)) ;) (if_statement "if ((*(byte *)((long)puVar10 + 0x39) & 3) == 0) goto LAB_003101c0;" if (parenthesized_expression "((*(byte *)((long)puVar10 + 0x39) & 3) == 0)" ( (binary_expression "(*(byte *)((long)puVar10 + 0x39) & 3) == 0" (parenthesized_expression "(*(byte *)((long)puVar10 + 0x39) & 3)" ( (binary_expression "*(byte *)((long)puVar10 + 0x39) & 3" (pointer_expression "*(byte *)((long)puVar10 + 0x39)" * (cast_expression "(byte *)((long)puVar10 + 0x39)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar10 + 0x39)" ( (binary_expression "(long)puVar10 + 0x39" (cast_expression "(long)puVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_003101c0;" goto statement_identifier ;)) (labeled_statement "LAB_00310166:\n                if (((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)\n                    ) && ((*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0)))) {\nLAB_00310293:\n                  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_003108ca:\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108dd to 003108e1 has its CatchHandler @ 00310922 */\n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') {\n                    if (bVar16 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)(puVar10[2] + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }" statement_identifier : (if_statement "if (((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)\n                    ) && ((*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0)))) {\nLAB_00310293:\n                  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_003108ca:\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108dd to 003108e1 has its CatchHandler @ 00310922 */\n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') {\n                    if (bVar16 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)(puVar10[2] + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }" if (parenthesized_expression "(((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)\n                    ) && ((*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0))))" ( (binary_expression "((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)\n                    ) && ((*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0)))" (parenthesized_expression "((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)\n                    )" ( (binary_expression "(*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)" (parenthesized_expression "(*(int *)(puVar10 + 3) == 0)" ( (binary_expression "*(int *)(puVar10 + 3) == 0" (pointer_expression "*(int *)(puVar10 + 3)" * (cast_expression "(int *)(puVar10 + 3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 3)" ( (binary_expression "puVar10 + 3" identifier + number_literal) )))) == number_literal) )) && (parenthesized_expression "((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)" ( (binary_expression "(*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0" (parenthesized_expression "(*(byte *)((long)puVar10 + 0x3b) & 0x20)" ( (binary_expression "*(byte *)((long)puVar10 + 0x3b) & 0x20" (pointer_expression "*(byte *)((long)puVar10 + 0x3b)" * (cast_expression "(byte *)((long)puVar10 + 0x3b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar10 + 0x3b)" ( (binary_expression "(long)puVar10 + 0x3b" (cast_expression "(long)puVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) ))) )) && (parenthesized_expression "((*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0)))" ( (parenthesized_expression "(*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0))" ( (binary_expression "*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0)" (binary_expression "*(byte *)(puVar10 + 7) >> 4 != 2" (binary_expression "*(byte *)(puVar10 + 7) >> 4" (pointer_expression "*(byte *)(puVar10 + 7)" * (cast_expression "(byte *)(puVar10 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 7)" ( (binary_expression "puVar10 + 7" identifier + number_literal) )))) >> number_literal) != number_literal) && (parenthesized_expression "((*(byte *)((long)puVar10 + 0x3c) & 2) == 0)" ( (binary_expression "(*(byte *)((long)puVar10 + 0x3c) & 2) == 0" (parenthesized_expression "(*(byte *)((long)puVar10 + 0x3c) & 2)" ( (binary_expression "*(byte *)((long)puVar10 + 0x3c) & 2" (pointer_expression "*(byte *)((long)puVar10 + 0x3c)" * (cast_expression "(byte *)((long)puVar10 + 0x3c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar10 + 0x3c)" ( (binary_expression "(long)puVar10 + 0x3c" (cast_expression "(long)puVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) (compound_statement "{\nLAB_00310293:\n                  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_003108ca:\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108dd to 003108e1 has its CatchHandler @ 00310922 */\n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') {\n                    if (bVar16 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }" { (labeled_statement "LAB_00310293:\n                  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_003108ca:\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108dd to 003108e1 has its CatchHandler @ 00310922 */\n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n                  }" statement_identifier : (if_statement "if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_003108ca:\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108dd to 003108e1 has its CatchHandler @ 00310922 */\n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n                  }" if (parenthesized_expression "(*(long *)(PTR_DAT_0067cb08 + 0x10) == 0)" ( (binary_expression "*(long *)(PTR_DAT_0067cb08 + 0x10) == 0" (pointer_expression "*(long *)(PTR_DAT_0067cb08 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0067cb08 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0067cb08 + 0x10)" ( (binary_expression "PTR_DAT_0067cb08 + 0x10" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_003108ca:\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108dd to 003108e1 has its CatchHandler @ 00310922 */\n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n                  }" { (labeled_statement "LAB_003108ca:\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108dd to 003108e1 has its CatchHandler @ 00310922 */\n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");" statement_identifier : comment comment (expression_statement "FUN_00352af0("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_00352af0("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;)) }))) (if_statement "if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') {\n                    if (bVar16 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }" if (parenthesized_expression "(*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0')" ( (binary_expression "*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0'" (pointer_expression "*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739)" * (cast_expression "(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739)" ( (binary_expression "*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739" (pointer_expression "*(long *)(PTR_DAT_0067cb08 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0067cb08 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0067cb08 + 0x10)" ( (binary_expression "PTR_DAT_0067cb08 + 0x10" identifier + number_literal) )))) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    if (bVar16 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }" { (if_statement "if (bVar16 != 0) goto LAB_003101c0;" if (parenthesized_expression "(bVar16 != 0)" ( (binary_expression "bVar16 != 0" identifier != number_literal) )) (goto_statement "goto LAB_003101c0;" goto statement_identifier ;)) (goto_statement "goto LAB_00310177;" goto statement_identifier ;) })) }) (else_clause "else {\nLAB_00310177:\n                  if ((*(byte *)(puVar10[2] + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }" else (compound_statement "{\nLAB_00310177:\n                  if ((*(byte *)(puVar10[2] + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }" { (labeled_statement "LAB_00310177:\n                  if ((*(byte *)(puVar10[2] + 0x3c) & 1) == 0) goto LAB_003101c0;" statement_identifier : (if_statement "if ((*(byte *)(puVar10[2] + 0x3c) & 1) == 0) goto LAB_003101c0;" if (parenthesized_expression "((*(byte *)(puVar10[2] + 0x3c) & 1) == 0)" ( (binary_expression "(*(byte *)(puVar10[2] + 0x3c) & 1) == 0" (parenthesized_expression "(*(byte *)(puVar10[2] + 0x3c) & 1)" ( (binary_expression "*(byte *)(puVar10[2] + 0x3c) & 1" (pointer_expression "*(byte *)(puVar10[2] + 0x3c)" * (cast_expression "(byte *)(puVar10[2] + 0x3c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10[2] + 0x3c)" ( (binary_expression "puVar10[2] + 0x3c" (subscript_expression "puVar10[2]" identifier [ number_literal ]) + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_003101c0;" goto statement_identifier ;))) })))) (if_statement "if (bVar5 == 2) {\n                  uVar9 = gettext("hidden");\n                }\n                else if (bVar5 < 3) {\n                  if (bVar5 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar9 = gettext("internal");\n                }\n                else {\n                  uVar9 = gettext("protected");\n                }" if (parenthesized_expression "(bVar5 == 2)" ( (binary_expression "bVar5 == 2" identifier == number_literal) )) (compound_statement "{\n                  uVar9 = gettext("hidden");\n                }" { (expression_statement "uVar9 = gettext("hidden");" (assignment_expression "uVar9 = gettext("hidden")" identifier = (call_expression "gettext("hidden")" identifier (argument_list "("hidden")" ( (string_literal ""hidden"" " string_content ") )))) ;) }) (else_clause "else if (bVar5 < 3) {\n                  if (bVar5 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar9 = gettext("internal");\n                }\n                else {\n                  uVar9 = gettext("protected");\n                }" else (if_statement "if (bVar5 < 3) {\n                  if (bVar5 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar9 = gettext("internal");\n                }\n                else {\n                  uVar9 = gettext("protected");\n                }" if (parenthesized_expression "(bVar5 < 3)" ( (binary_expression "bVar5 < 3" identifier < number_literal) )) (compound_statement "{\n                  if (bVar5 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar9 = gettext("internal");\n                }" { (if_statement "if (bVar5 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }" if (parenthesized_expression "(bVar5 != 1)" ( (binary_expression "bVar5 != 1" identifier != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }" { comment (expression_statement "FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");" (call_expression "FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error")" identifier (argument_list "("../../gold/target-reloc.h",0xa4,"visibility_error")" ( (string_literal ""../../gold/target-reloc.h"" " string_content ") , number_literal , (string_literal ""visibility_error"" " string_content ") ))) ;) })) (expression_statement "uVar9 = gettext("internal");" (assignment_expression "uVar9 = gettext("internal")" identifier = (call_expression "gettext("internal")" identifier (argument_list "("internal")" ( (string_literal ""internal"" " string_content ") )))) ;) }) (else_clause "else {\n                  uVar9 = gettext("protected");\n                }" else (compound_statement "{\n                  uVar9 = gettext("protected");\n                }" { (expression_statement "uVar9 = gettext("protected");" (assignment_expression "uVar9 = gettext("protected")" identifier = (call_expression "gettext("protected")" identifier (argument_list "("protected")" ( (string_literal ""protected"" " string_content ") )))) ;) }))))) (expression_statement "uVar11 = *puVar10;" (assignment_expression "uVar11 = *puVar10" identifier = (pointer_expression "*puVar10" * identifier)) ;) (expression_statement "uVar12 = gettext("%s symbol \'%s\' is not defined locally");" (assignment_expression "uVar12 = gettext("%s symbol \'%s\' is not defined locally")" identifier = (call_expression "gettext("%s symbol \'%s\' is not defined locally")" identifier (argument_list "("%s symbol \'%s\' is not defined locally")" ( (string_literal ""%s symbol \'%s\' is not defined locally"" " string_content escape_sequence string_content escape_sequence string_content ") )))) ;) comment (expression_statement "FUN_0034a750(uVar12,uVar9,uVar11);" (call_expression "FUN_0034a750(uVar12,uVar9,uVar11)" identifier (argument_list "(uVar12,uVar9,uVar11)" ( identifier , identifier , identifier ))) ;) (goto_statement "goto LAB_003101c0;" goto statement_identifier ;) })) (labeled_statement "LAB_0031020c:\n              if ((*(byte *)(puVar10 + 7) >> 4 == 2) || ((*(byte *)((long)puVar10 + 0x3c) & 2) != 0)\n                 ) {\nLAB_00310438:\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_0031043f:\n                if (bVar5 == 0) goto LAB_003101c0;\n                bVar16 = *(byte *)((long)puVar10 + 0x3a) & 7;\n                if (bVar16 != 0) goto LAB_00310270;\n                goto LAB_00310166;\n              }" statement_identifier : (if_statement "if ((*(byte *)(puVar10 + 7) >> 4 == 2) || ((*(byte *)((long)puVar10 + 0x3c) & 2) != 0)\n                 ) {\nLAB_00310438:\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_0031043f:\n                if (bVar5 == 0) goto LAB_003101c0;\n                bVar16 = *(byte *)((long)puVar10 + 0x3a) & 7;\n                if (bVar16 != 0) goto LAB_00310270;\n                goto LAB_00310166;\n              }" if (parenthesized_expression "((*(byte *)(puVar10 + 7) >> 4 == 2) || ((*(byte *)((long)puVar10 + 0x3c) & 2) != 0)\n                 )" ( (binary_expression "(*(byte *)(puVar10 + 7) >> 4 == 2) || ((*(byte *)((long)puVar10 + 0x3c) & 2) != 0)" (parenthesized_expression "(*(byte *)(puVar10 + 7) >> 4 == 2)" ( (binary_expression "*(byte *)(puVar10 + 7) >> 4 == 2" (binary_expression "*(byte *)(puVar10 + 7) >> 4" (pointer_expression "*(byte *)(puVar10 + 7)" * (cast_expression "(byte *)(puVar10 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 7)" ( (binary_expression "puVar10 + 7" identifier + number_literal) )))) >> number_literal) == number_literal) )) || (parenthesized_expression "((*(byte *)((long)puVar10 + 0x3c) & 2) != 0)" ( (binary_expression "(*(byte *)((long)puVar10 + 0x3c) & 2) != 0" (parenthesized_expression "(*(byte *)((long)puVar10 + 0x3c) & 2)" ( (binary_expression "*(byte *)((long)puVar10 + 0x3c) & 2" (pointer_expression "*(byte *)((long)puVar10 + 0x3c)" * (cast_expression "(byte *)((long)puVar10 + 0x3c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar10 + 0x3c)" ( (binary_expression "(long)puVar10 + 0x3c" (cast_expression "(long)puVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\nLAB_00310438:\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_0031043f:\n                if (bVar5 == 0) goto LAB_003101c0;\n                bVar16 = *(byte *)((long)puVar10 + 0x3a) & 7;\n                if (bVar16 != 0) goto LAB_00310270;\n                goto LAB_00310166;\n              }" { (labeled_statement "LAB_00310438:\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;" statement_identifier : (expression_statement "bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;" (assignment_expression "bVar5 = *(byte *)((long)puVar10 + 0x39) & 3" identifier = (binary_expression "*(byte *)((long)puVar10 + 0x39) & 3" (pointer_expression "*(byte *)((long)puVar10 + 0x39)" * (cast_expression "(byte *)((long)puVar10 + 0x39)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar10 + 0x39)" ( (binary_expression "(long)puVar10 + 0x39" (cast_expression "(long)puVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal)) ;)) (labeled_statement "LAB_0031043f:\n                if (bVar5 == 0) goto LAB_003101c0;" statement_identifier : (if_statement "if (bVar5 == 0) goto LAB_003101c0;" if (parenthesized_expression "(bVar5 == 0)" ( (binary_expression "bVar5 == 0" identifier == number_literal) )) (goto_statement "goto LAB_003101c0;" goto statement_identifier ;))) (expression_statement "bVar16 = *(byte *)((long)puVar10 + 0x3a) & 7;" (assignment_expression "bVar16 = *(byte *)((long)puVar10 + 0x3a) & 7" identifier = (binary_expression "*(byte *)((long)puVar10 + 0x3a) & 7" (pointer_expression "*(byte *)((long)puVar10 + 0x3a)" * (cast_expression "(byte *)((long)puVar10 + 0x3a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar10 + 0x3a)" ( (binary_expression "(long)puVar10 + 0x3a" (cast_expression "(long)puVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal)) ;) (if_statement "if (bVar16 != 0) goto LAB_00310270;" if (parenthesized_expression "(bVar16 != 0)" ( (binary_expression "bVar16 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00310270;" goto statement_identifier ;)) (goto_statement "goto LAB_00310166;" goto statement_identifier ;) }))) (if_statement "if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310878 to 0031087c has its CatchHandler @ 00310922 */\n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }" if (parenthesized_expression "(*(long *)(PTR_DAT_0067cb08 + 0x10) == 0)" ( (binary_expression "*(long *)(PTR_DAT_0067cb08 + 0x10) == 0" (pointer_expression "*(long *)(PTR_DAT_0067cb08 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0067cb08 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0067cb08 + 0x10)" ( (binary_expression "PTR_DAT_0067cb08 + 0x10" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310878 to 0031087c has its CatchHandler @ 00310922 */\n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }" { comment comment (expression_statement "FUN_00352af0("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_00352af0("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })) (if_statement "if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') goto LAB_00310438;" if (parenthesized_expression "(*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0')" ( (binary_expression "*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0'" (pointer_expression "*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739)" * (cast_expression "(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739)" ( (binary_expression "*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739" (pointer_expression "*(long *)(PTR_DAT_0067cb08 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0067cb08 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0067cb08 + 0x10)" ( (binary_expression "PTR_DAT_0067cb08 + 0x10" identifier + number_literal) )))) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00310438;" goto statement_identifier ;)) (if_statement "if (*(char *)((long)puVar10 + 0x3b) < '\0') {\n                if (bVar5 != 0) goto LAB_00310260;\nLAB_003105b8:\n                if (*(code **)(*(long *)puVar10[2] + 0x28) == FUN_001a4aa0) goto LAB_0031015a;\n                    /* try { // try from 003105cc to 003105cd has its CatchHandler @ 00310922 */\n                lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                if (lVar13 == 0) goto LAB_00310438;\n              }" if (parenthesized_expression "(*(char *)((long)puVar10 + 0x3b) < '\0')" ( (binary_expression "*(char *)((long)puVar10 + 0x3b) < '\0'" (pointer_expression "*(char *)((long)puVar10 + 0x3b)" * (cast_expression "(char *)((long)puVar10 + 0x3b)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar10 + 0x3b)" ( (binary_expression "(long)puVar10 + 0x3b" (cast_expression "(long)puVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                if (bVar5 != 0) goto LAB_00310260;\nLAB_003105b8:\n                if (*(code **)(*(long *)puVar10[2] + 0x28) == FUN_001a4aa0) goto LAB_0031015a;\n                    /* try { // try from 003105cc to 003105cd has its CatchHandler @ 00310922 */\n                lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                if (lVar13 == 0) goto LAB_00310438;\n              }" { (if_statement "if (bVar5 != 0) goto LAB_00310260;" if (parenthesized_expression "(bVar5 != 0)" ( (binary_expression "bVar5 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00310260;" goto statement_identifier ;)) (labeled_statement "LAB_003105b8:\n                if (*(code **)(*(long *)puVar10[2] + 0x28) == FUN_001a4aa0) goto LAB_0031015a;" statement_identifier : (if_statement "if (*(code **)(*(long *)puVar10[2] + 0x28) == FUN_001a4aa0) goto LAB_0031015a;" if (parenthesized_expression "(*(code **)(*(long *)puVar10[2] + 0x28) == FUN_001a4aa0)" ( (binary_expression "*(code **)(*(long *)puVar10[2] + 0x28) == FUN_001a4aa0" (pointer_expression "*(code **)(*(long *)puVar10[2] + 0x28)" * (cast_expression "(code **)(*(long *)puVar10[2] + 0x28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)puVar10[2] + 0x28)" ( (binary_expression "*(long *)puVar10[2] + 0x28" (pointer_expression "*(long *)puVar10[2]" * (cast_expression "(long *)puVar10[2]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar10[2]" identifier [ number_literal ]))) + number_literal) )))) == identifier) )) (goto_statement "goto LAB_0031015a;" goto statement_identifier ;))) comment (expression_statement "lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();" (assignment_expression "lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))()" identifier = (call_expression "(**(code **)(*(long *)puVar10[2] + 0x28))()" (parenthesized_expression "(**(code **)(*(long *)puVar10[2] + 0x28))" ( (pointer_expression "**(code **)(*(long *)puVar10[2] + 0x28)" * (pointer_expression "*(code **)(*(long *)puVar10[2] + 0x28)" * (cast_expression "(code **)(*(long *)puVar10[2] + 0x28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)puVar10[2] + 0x28)" ( (binary_expression "*(long *)puVar10[2] + 0x28" (pointer_expression "*(long *)puVar10[2]" * (cast_expression "(long *)puVar10[2]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar10[2]" identifier [ number_literal ]))) + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (lVar13 == 0) goto LAB_00310438;" if (parenthesized_expression "(lVar13 == 0)" ( (binary_expression "lVar13 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00310438;" goto statement_identifier ;)) })) (labeled_statement "LAB_00310305:\n              plVar3 = *(long **)(PTR_DAT_0067cb08 + 0x18);" statement_identifier : (expression_statement "plVar3 = *(long **)(PTR_DAT_0067cb08 + 0x18);" (assignment_expression "plVar3 = *(long **)(PTR_DAT_0067cb08 + 0x18)" identifier = (pointer_expression "*(long **)(PTR_DAT_0067cb08 + 0x18)" * (cast_expression "(long **)(PTR_DAT_0067cb08 + 0x18)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_DAT_0067cb08 + 0x18)" ( (binary_expression "PTR_DAT_0067cb08 + 0x18" identifier + number_literal) ))))) ;)) (if_statement "if (plVar3 == (long *)0x0) {\nLAB_00310805:\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310818 to 0031084c has its CatchHandler @ 00310922 */\n                FUN_00352af0("../../gold/parameters.h",0x69,"target");\n              }" if (parenthesized_expression "(plVar3 == (long *)0x0)" ( (binary_expression "plVar3 == (long *)0x0" identifier == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00310805:\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310818 to 0031084c has its CatchHandler @ 00310922 */\n                FUN_00352af0("../../gold/parameters.h",0x69,"target");\n              }" { (labeled_statement "LAB_00310805:\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310818 to 0031084c has its CatchHandler @ 00310922 */\n                FUN_00352af0("../../gold/parameters.h",0x69,"target");" statement_identifier : comment comment (expression_statement "FUN_00352af0("../../gold/parameters.h",0x69,"target");" (call_expression "FUN_00352af0("../../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 ") ))) ;)) })) (if_statement "if ((*(code **)(*plVar3 + 0x38) != FUN_001a49e0) &&\n                 (cVar4 = (**(code **)(*plVar3 + 0x38))(plVar3,puVar10), cVar4 != '\0'))\n              goto LAB_00310438;" if (parenthesized_expression "((*(code **)(*plVar3 + 0x38) != FUN_001a49e0) &&\n                 (cVar4 = (**(code **)(*plVar3 + 0x38))(plVar3,puVar10), cVar4 != '\0'))" ( (binary_expression "(*(code **)(*plVar3 + 0x38) != FUN_001a49e0) &&\n                 (cVar4 = (**(code **)(*plVar3 + 0x38))(plVar3,puVar10), cVar4 != '\0')" (parenthesized_expression "(*(code **)(*plVar3 + 0x38) != FUN_001a49e0)" ( (binary_expression "*(code **)(*plVar3 + 0x38) != FUN_001a49e0" (pointer_expression "*(code **)(*plVar3 + 0x38)" * (cast_expression "(code **)(*plVar3 + 0x38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar3 + 0x38)" ( (binary_expression "*plVar3 + 0x38" (pointer_expression "*plVar3" * identifier) + number_literal) )))) != identifier) )) && (parenthesized_expression "(cVar4 = (**(code **)(*plVar3 + 0x38))(plVar3,puVar10), cVar4 != '\0')" ( (comma_expression "cVar4 = (**(code **)(*plVar3 + 0x38))(plVar3,puVar10), cVar4 != '\0'" (assignment_expression "cVar4 = (**(code **)(*plVar3 + 0x38))(plVar3,puVar10)" identifier = (call_expression "(**(code **)(*plVar3 + 0x38))(plVar3,puVar10)" (parenthesized_expression "(**(code **)(*plVar3 + 0x38))" ( (pointer_expression "**(code **)(*plVar3 + 0x38)" * (pointer_expression "*(code **)(*plVar3 + 0x38)" * (cast_expression "(code **)(*plVar3 + 0x38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar3 + 0x38)" ( (binary_expression "*plVar3 + 0x38" (pointer_expression "*plVar3" * identifier) + number_literal) ))))) )) (argument_list "(plVar3,puVar10)" ( identifier , identifier )))) , (binary_expression "cVar4 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence '))) ))) )) (goto_statement "goto LAB_00310438;" goto statement_identifier ;)) (expression_statement "lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);" (assignment_expression "lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10)" identifier = (pointer_expression "*(long *)(PTR_DAT_0067cb08 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0067cb08 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0067cb08 + 0x10)" ( (binary_expression "PTR_DAT_0067cb08 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (lVar13 == 0) {\n                    /* WARNING: Subroutine does not return */\n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }" if (parenthesized_expression "(lVar13 == 0)" ( (binary_expression "lVar13 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }" { comment (expression_statement "FUN_00352af0("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_00352af0("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })) (expression_statement "pbVar18 = *(byte **)(lVar13 + 0x6c40);" (assignment_expression "pbVar18 = *(byte **)(lVar13 + 0x6c40)" identifier = (pointer_expression "*(byte **)(lVar13 + 0x6c40)" * (cast_expression "(byte **)(lVar13 + 0x6c40)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar13 + 0x6c40)" ( (binary_expression "lVar13 + 0x6c40" identifier + number_literal) ))))) ;) (expression_statement "bVar24 = false;" (assignment_expression "bVar24 = false" identifier = false) ;) (expression_statement "bVar26 = pbVar18 == (byte *)0x0;" (assignment_expression "bVar26 = pbVar18 == (byte *)0x0" identifier = (binary_expression "pbVar18 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (if_statement "if (bVar26) {\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_003103c9:\n                if ((bVar5 == 2) ||\n                   ((*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0'))))\n                goto LAB_003103e1;\n                goto LAB_0031043f;\n              }" if (parenthesized_expression "(bVar26)" ( identifier )) (compound_statement "{\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_003103c9:\n                if ((bVar5 == 2) ||\n                   ((*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0'))))\n                goto LAB_003103e1;\n                goto LAB_0031043f;\n              }" { (expression_statement "bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;" (assignment_expression "bVar5 = *(byte *)((long)puVar10 + 0x39) & 3" identifier = (binary_expression "*(byte *)((long)puVar10 + 0x39) & 3" (pointer_expression "*(byte *)((long)puVar10 + 0x39)" * (cast_expression "(byte *)((long)puVar10 + 0x39)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar10 + 0x39)" ( (binary_expression "(long)puVar10 + 0x39" (cast_expression "(long)puVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal)) ;) (labeled_statement "LAB_003103c9:\n                if ((bVar5 == 2) ||\n                   ((*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0'))))\n                goto LAB_003103e1;" statement_identifier : (if_statement "if ((bVar5 == 2) ||\n                   ((*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0'))))\n                goto LAB_003103e1;" if (parenthesized_expression "((bVar5 == 2) ||\n                   ((*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0'))))" ( (binary_expression "(bVar5 == 2) ||\n                   ((*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0')))" (parenthesized_expression "(bVar5 == 2)" ( (binary_expression "bVar5 == 2" identifier == number_literal) )) || (parenthesized_expression "((*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0')))" ( (parenthesized_expression "(*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0'))" ( (binary_expression "*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0')" (binary_expression "*(char *)(lVar13 + 0x2a61) == '\0'" (pointer_expression "*(char *)(lVar13 + 0x2a61)" * (cast_expression "(char *)(lVar13 + 0x2a61)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x2a61)" ( (binary_expression "lVar13 + 0x2a61" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) || (parenthesized_expression "(*(char *)(lVar13 + 0x7f71) != '\0')" ( (binary_expression "*(char *)(lVar13 + 0x7f71) != '\0'" (pointer_expression "*(char *)(lVar13 + 0x7f71)" * (cast_expression "(char *)(lVar13 + 0x7f71)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x7f71)" ( (binary_expression "lVar13 + 0x7f71" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) ))) )) (goto_statement "goto LAB_003103e1;" goto statement_identifier ;))) (goto_statement "goto LAB_0031043f;" goto statement_identifier ;) })) (expression_statement "lVar15 = 0xb;" (assignment_expression "lVar15 = 0xb" identifier = number_literal) ;) (expression_statement "pbVar19 = pbVar18;" (assignment_expression "pbVar19 = pbVar18" identifier = identifier) ;) (expression_statement "pbVar20 = (byte *)"ignore-all";" (assignment_expression "pbVar20 = (byte *)"ignore-all"" identifier = (cast_expression "(byte *)"ignore-all"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""ignore-all"" " string_content "))) ;) (do_statement "do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar24 = *pbVar19 < *pbVar20;\n                bVar26 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar26);" do (compound_statement "{\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar24 = *pbVar19 < *pbVar20;\n                bVar26 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              }" { (if_statement "if (lVar15 == 0) break;" if (parenthesized_expression "(lVar15 == 0)" ( (binary_expression "lVar15 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar15 = lVar15 + -1;" (assignment_expression "lVar15 = lVar15 + -1" identifier = (binary_expression "lVar15 + -1" identifier + number_literal)) ;) (expression_statement "bVar24 = *pbVar19 < *pbVar20;" (assignment_expression "bVar24 = *pbVar19 < *pbVar20" identifier = (binary_expression "*pbVar19 < *pbVar20" (pointer_expression "*pbVar19" * identifier) < (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "bVar26 = *pbVar19 == *pbVar20;" (assignment_expression "bVar26 = *pbVar19 == *pbVar20" identifier = (binary_expression "*pbVar19 == *pbVar20" (pointer_expression "*pbVar19" * identifier) == (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;" (assignment_expression "pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1" identifier = (binary_expression "pbVar19 + (ulong)bVar27 * -2 + 1" (binary_expression "pbVar19 + (ulong)bVar27 * -2" identifier + (binary_expression "(ulong)bVar27 * -2" (cast_expression "(ulong)bVar27" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1" identifier = (binary_expression "pbVar20 + (ulong)bVar27 * -2 + 1" (binary_expression "pbVar20 + (ulong)bVar27 * -2" identifier + (binary_expression "(ulong)bVar27 * -2" (cast_expression "(ulong)bVar27" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar26)" ( identifier )) ;) (expression_statement "bVar25 = false;" (assignment_expression "bVar25 = false" identifier = false) ;) (expression_statement "bVar24 = (!bVar24 && !bVar26) == bVar24;" (assignment_expression "bVar24 = (!bVar24 && !bVar26) == bVar24" identifier = (binary_expression "(!bVar24 && !bVar26) == bVar24" (parenthesized_expression "(!bVar24 && !bVar26)" ( (binary_expression "!bVar24 && !bVar26" (unary_expression "!bVar24" ! identifier) && (unary_expression "!bVar26" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar24) goto LAB_00310438;" if (parenthesized_expression "(bVar24)" ( identifier )) (goto_statement "goto LAB_00310438;" goto statement_identifier ;)) (expression_statement "lVar15 = 0xb;" (assignment_expression "lVar15 = 0xb" identifier = number_literal) ;) (expression_statement "pbVar19 = pbVar18;" (assignment_expression "pbVar19 = pbVar18" identifier = identifier) ;) (expression_statement "pbVar20 = (byte *)"report-all";" (assignment_expression "pbVar20 = (byte *)"report-all"" identifier = (cast_expression "(byte *)"report-all"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""report-all"" " string_content "))) ;) (do_statement "do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar25 = *pbVar19 < *pbVar20;\n                bVar24 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);" do (compound_statement "{\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar25 = *pbVar19 < *pbVar20;\n                bVar24 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              }" { (if_statement "if (lVar15 == 0) break;" if (parenthesized_expression "(lVar15 == 0)" ( (binary_expression "lVar15 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar15 = lVar15 + -1;" (assignment_expression "lVar15 = lVar15 + -1" identifier = (binary_expression "lVar15 + -1" identifier + number_literal)) ;) (expression_statement "bVar25 = *pbVar19 < *pbVar20;" (assignment_expression "bVar25 = *pbVar19 < *pbVar20" identifier = (binary_expression "*pbVar19 < *pbVar20" (pointer_expression "*pbVar19" * identifier) < (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "bVar24 = *pbVar19 == *pbVar20;" (assignment_expression "bVar24 = *pbVar19 == *pbVar20" identifier = (binary_expression "*pbVar19 == *pbVar20" (pointer_expression "*pbVar19" * identifier) == (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;" (assignment_expression "pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1" identifier = (binary_expression "pbVar19 + (ulong)bVar27 * -2 + 1" (binary_expression "pbVar19 + (ulong)bVar27 * -2" identifier + (binary_expression "(ulong)bVar27 * -2" (cast_expression "(ulong)bVar27" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1" identifier = (binary_expression "pbVar20 + (ulong)bVar27 * -2 + 1" (binary_expression "pbVar20 + (ulong)bVar27 * -2" identifier + (binary_expression "(ulong)bVar27 * -2" (cast_expression "(ulong)bVar27" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar24)" ( identifier )) ;) (expression_statement "bVar26 = false;" (assignment_expression "bVar26 = false" identifier = false) ;) (expression_statement "bVar24 = (!bVar25 && !bVar24) == bVar25;" (assignment_expression "bVar24 = (!bVar25 && !bVar24) == bVar25" identifier = (binary_expression "(!bVar25 && !bVar24) == bVar25" (parenthesized_expression "(!bVar25 && !bVar24)" ( (binary_expression "!bVar25 && !bVar24" (unary_expression "!bVar25" ! identifier) && (unary_expression "!bVar24" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar24) {\n                lVar15 = 0x17;\n                pbVar19 = pbVar18;\n                pbVar20 = (byte *)"ignore-in-object-files";\n                do {\n                  if (lVar15 == 0) break;\n                  lVar15 = lVar15 + -1;\n                  bVar26 = *pbVar19 < *pbVar20;\n                  bVar24 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if ((!bVar24) || (bVar24 = (*(byte *)((long)puVar10 + 0x3b) & 1) == 0, !bVar24)) {\n                  bVar26 = false;\n                  lVar15 = 0x16;\n                  pbVar19 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    if (lVar15 == 0) break;\n                    lVar15 = lVar15 + -1;\n                    bVar26 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  if (((!bVar26 && !bVar24) != bVar26) || (*(char *)((long)puVar10 + 0x3a) < '\0'))\n                  goto LAB_003103c9;\n                }\n                goto LAB_0031043f;\n              }" if (parenthesized_expression "(!bVar24)" ( (unary_expression "!bVar24" ! identifier) )) (compound_statement "{\n                lVar15 = 0x17;\n                pbVar19 = pbVar18;\n                pbVar20 = (byte *)"ignore-in-object-files";\n                do {\n                  if (lVar15 == 0) break;\n                  lVar15 = lVar15 + -1;\n                  bVar26 = *pbVar19 < *pbVar20;\n                  bVar24 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if ((!bVar24) || (bVar24 = (*(byte *)((long)puVar10 + 0x3b) & 1) == 0, !bVar24)) {\n                  bVar26 = false;\n                  lVar15 = 0x16;\n                  pbVar19 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    if (lVar15 == 0) break;\n                    lVar15 = lVar15 + -1;\n                    bVar26 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  if (((!bVar26 && !bVar24) != bVar26) || (*(char *)((long)puVar10 + 0x3a) < '\0'))\n                  goto LAB_003103c9;\n                }\n                goto LAB_0031043f;\n              }" { (expression_statement "lVar15 = 0x17;" (assignment_expression "lVar15 = 0x17" identifier = number_literal) ;) (expression_statement "pbVar19 = pbVar18;" (assignment_expression "pbVar19 = pbVar18" identifier = identifier) ;) (expression_statement "pbVar20 = (byte *)"ignore-in-object-files";" (assignment_expression "pbVar20 = (byte *)"ignore-in-object-files"" identifier = (cast_expression "(byte *)"ignore-in-object-files"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""ignore-in-object-files"" " string_content "))) ;) (do_statement "do {\n                  if (lVar15 == 0) break;\n                  lVar15 = lVar15 + -1;\n                  bVar26 = *pbVar19 < *pbVar20;\n                  bVar24 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);" do (compound_statement "{\n                  if (lVar15 == 0) break;\n                  lVar15 = lVar15 + -1;\n                  bVar26 = *pbVar19 < *pbVar20;\n                  bVar24 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n                }" { (if_statement "if (lVar15 == 0) break;" if (parenthesized_expression "(lVar15 == 0)" ( (binary_expression "lVar15 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar15 = lVar15 + -1;" (assignment_expression "lVar15 = lVar15 + -1" identifier = (binary_expression "lVar15 + -1" identifier + number_literal)) ;) (expression_statement "bVar26 = *pbVar19 < *pbVar20;" (assignment_expression "bVar26 = *pbVar19 < *pbVar20" identifier = (binary_expression "*pbVar19 < *pbVar20" (pointer_expression "*pbVar19" * identifier) < (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "bVar24 = *pbVar19 == *pbVar20;" (assignment_expression "bVar24 = *pbVar19 == *pbVar20" identifier = (binary_expression "*pbVar19 == *pbVar20" (pointer_expression "*pbVar19" * identifier) == (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;" (assignment_expression "pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1" identifier = (binary_expression "pbVar19 + (ulong)bVar27 * -2 + 1" (binary_expression "pbVar19 + (ulong)bVar27 * -2" identifier + (binary_expression "(ulong)bVar27 * -2" (cast_expression "(ulong)bVar27" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1" identifier = (binary_expression "pbVar20 + (ulong)bVar27 * -2 + 1" (binary_expression "pbVar20 + (ulong)bVar27 * -2" identifier + (binary_expression "(ulong)bVar27 * -2" (cast_expression "(ulong)bVar27" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar24)" ( identifier )) ;) (expression_statement "bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;" (assignment_expression "bVar5 = *(byte *)((long)puVar10 + 0x39) & 3" identifier = (binary_expression "*(byte *)((long)puVar10 + 0x39) & 3" (pointer_expression "*(byte *)((long)puVar10 + 0x39)" * (cast_expression "(byte *)((long)puVar10 + 0x39)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar10 + 0x39)" ( (binary_expression "(long)puVar10 + 0x39" (cast_expression "(long)puVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal)) ;) (expression_statement "bVar24 = (!bVar26 && !bVar24) == bVar26;" (assignment_expression "bVar24 = (!bVar26 && !bVar24) == bVar26" identifier = (binary_expression "(!bVar26 && !bVar24) == bVar26" (parenthesized_expression "(!bVar26 && !bVar24)" ( (binary_expression "!bVar26 && !bVar24" (unary_expression "!bVar26" ! identifier) && (unary_expression "!bVar24" ! identifier)) )) == identifier)) ;) (if_statement "if ((!bVar24) || (bVar24 = (*(byte *)((long)puVar10 + 0x3b) & 1) == 0, !bVar24)) {\n                  bVar26 = false;\n                  lVar15 = 0x16;\n                  pbVar19 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    if (lVar15 == 0) break;\n                    lVar15 = lVar15 + -1;\n                    bVar26 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  if (((!bVar26 && !bVar24) != bVar26) || (*(char *)((long)puVar10 + 0x3a) < '\0'))\n                  goto LAB_003103c9;\n                }" if (parenthesized_expression "((!bVar24) || (bVar24 = (*(byte *)((long)puVar10 + 0x3b) & 1) == 0, !bVar24))" ( (binary_expression "(!bVar24) || (bVar24 = (*(byte *)((long)puVar10 + 0x3b) & 1) == 0, !bVar24)" (parenthesized_expression "(!bVar24)" ( (unary_expression "!bVar24" ! identifier) )) || (parenthesized_expression "(bVar24 = (*(byte *)((long)puVar10 + 0x3b) & 1) == 0, !bVar24)" ( (comma_expression "bVar24 = (*(byte *)((long)puVar10 + 0x3b) & 1) == 0, !bVar24" (assignment_expression "bVar24 = (*(byte *)((long)puVar10 + 0x3b) & 1) == 0" identifier = (binary_expression "(*(byte *)((long)puVar10 + 0x3b) & 1) == 0" (parenthesized_expression "(*(byte *)((long)puVar10 + 0x3b) & 1)" ( (binary_expression "*(byte *)((long)puVar10 + 0x3b) & 1" (pointer_expression "*(byte *)((long)puVar10 + 0x3b)" * (cast_expression "(byte *)((long)puVar10 + 0x3b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar10 + 0x3b)" ( (binary_expression "(long)puVar10 + 0x3b" (cast_expression "(long)puVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) == number_literal)) , (unary_expression "!bVar24" ! identifier)) ))) )) (compound_statement "{\n                  bVar26 = false;\n                  lVar15 = 0x16;\n                  pbVar19 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    if (lVar15 == 0) break;\n                    lVar15 = lVar15 + -1;\n                    bVar26 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  if (((!bVar26 && !bVar24) != bVar26) || (*(char *)((long)puVar10 + 0x3a) < '\0'))\n                  goto LAB_003103c9;\n                }" { (expression_statement "bVar26 = false;" (assignment_expression "bVar26 = false" identifier = false) ;) (expression_statement "lVar15 = 0x16;" (assignment_expression "lVar15 = 0x16" identifier = number_literal) ;) (expression_statement "pbVar19 = (byte *)"ignore-in-shared-libs";" (assignment_expression "pbVar19 = (byte *)"ignore-in-shared-libs"" identifier = (cast_expression "(byte *)"ignore-in-shared-libs"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""ignore-in-shared-libs"" " string_content "))) ;) (do_statement "do {\n                    if (lVar15 == 0) break;\n                    lVar15 = lVar15 + -1;\n                    bVar26 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);" do (compound_statement "{\n                    if (lVar15 == 0) break;\n                    lVar15 = lVar15 + -1;\n                    bVar26 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  }" { (if_statement "if (lVar15 == 0) break;" if (parenthesized_expression "(lVar15 == 0)" ( (binary_expression "lVar15 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar15 = lVar15 + -1;" (assignment_expression "lVar15 = lVar15 + -1" identifier = (binary_expression "lVar15 + -1" identifier + number_literal)) ;) (expression_statement "bVar26 = *pbVar18 < *pbVar19;" (assignment_expression "bVar26 = *pbVar18 < *pbVar19" identifier = (binary_expression "*pbVar18 < *pbVar19" (pointer_expression "*pbVar18" * identifier) < (pointer_expression "*pbVar19" * identifier))) ;) (expression_statement "bVar24 = *pbVar18 == *pbVar19;" (assignment_expression "bVar24 = *pbVar18 == *pbVar19" identifier = (binary_expression "*pbVar18 == *pbVar19" (pointer_expression "*pbVar18" * identifier) == (pointer_expression "*pbVar19" * identifier))) ;) (expression_statement "pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1" identifier = (binary_expression "pbVar18 + (ulong)bVar27 * -2 + 1" (binary_expression "pbVar18 + (ulong)bVar27 * -2" identifier + (binary_expression "(ulong)bVar27 * -2" (cast_expression "(ulong)bVar27" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;" (assignment_expression "pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1" identifier = (binary_expression "pbVar19 + (ulong)bVar27 * -2 + 1" (binary_expression "pbVar19 + (ulong)bVar27 * -2" identifier + (binary_expression "(ulong)bVar27 * -2" (cast_expression "(ulong)bVar27" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar24)" ( identifier )) ;) (if_statement "if (((!bVar26 && !bVar24) != bVar26) || (*(char *)((long)puVar10 + 0x3a) < '\0'))\n                  goto LAB_003103c9;" if (parenthesized_expression "(((!bVar26 && !bVar24) != bVar26) || (*(char *)((long)puVar10 + 0x3a) < '\0'))" ( (binary_expression "((!bVar26 && !bVar24) != bVar26) || (*(char *)((long)puVar10 + 0x3a) < '\0')" (parenthesized_expression "((!bVar26 && !bVar24) != bVar26)" ( (binary_expression "(!bVar26 && !bVar24) != bVar26" (parenthesized_expression "(!bVar26 && !bVar24)" ( (binary_expression "!bVar26 && !bVar24" (unary_expression "!bVar26" ! identifier) && (unary_expression "!bVar24" ! identifier)) )) != identifier) )) || (parenthesized_expression "(*(char *)((long)puVar10 + 0x3a) < '\0')" ( (binary_expression "*(char *)((long)puVar10 + 0x3a) < '\0'" (pointer_expression "*(char *)((long)puVar10 + 0x3a)" * (cast_expression "(char *)((long)puVar10 + 0x3a)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar10 + 0x3a)" ( (binary_expression "(long)puVar10 + 0x3a" (cast_expression "(long)puVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) < (char_literal "'\0'" ' escape_sequence ')) ))) )) (goto_statement "goto LAB_003103c9;" goto statement_identifier ;)) })) (goto_statement "goto LAB_0031043f;" goto statement_identifier ;) })) (labeled_statement "LAB_003103e1:\n              FUN_0034b9f0(puVar10,param_2,local_148,local_140);" statement_identifier : (expression_statement "FUN_0034b9f0(puVar10,param_2,local_148,local_140);" (call_expression "FUN_0034b9f0(puVar10,param_2,local_148,local_140)" identifier (argument_list "(puVar10,param_2,local_148,local_140)" ( identifier , identifier , identifier , identifier ))) ;)) (expression_statement "bVar16 = *(byte *)((long)puVar10 + 0x3b);" (assignment_expression "bVar16 = *(byte *)((long)puVar10 + 0x3b)" identifier = (pointer_expression "*(byte *)((long)puVar10 + 0x3b)" * (cast_expression "(byte *)((long)puVar10 + 0x3b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar10 + 0x3b)" ( (binary_expression "(long)puVar10 + 0x3b" (cast_expression "(long)puVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) }) (else_clause "else {\n              if (bVar5 == 4) goto LAB_0031020c;\nLAB_00310260:\n              bVar5 = *(byte *)((long)puVar10 + 0x39);\n              if ((bVar5 & 3) != 0) {\nLAB_0031026d:\n                bVar5 = bVar5 & 3;\n                bVar16 = bVar16 & 7;\nLAB_00310270:\n                if (((bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2)) &&\n                   (bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0)) goto LAB_00310293;\n              }\nLAB_003101c0:\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }" else (compound_statement "{\n              if (bVar5 == 4) goto LAB_0031020c;\nLAB_00310260:\n              bVar5 = *(byte *)((long)puVar10 + 0x39);\n              if ((bVar5 & 3) != 0) {\nLAB_0031026d:\n                bVar5 = bVar5 & 3;\n                bVar16 = bVar16 & 7;\nLAB_00310270:\n                if (((bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2)) &&\n                   (bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0)) goto LAB_00310293;\n              }\nLAB_003101c0:\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }" { (if_statement "if (bVar5 == 4) goto LAB_0031020c;" if (parenthesized_expression "(bVar5 == 4)" ( (binary_expression "bVar5 == 4" identifier == number_literal) )) (goto_statement "goto LAB_0031020c;" goto statement_identifier ;)) (labeled_statement "LAB_00310260:\n              bVar5 = *(byte *)((long)puVar10 + 0x39);" statement_identifier : (expression_statement "bVar5 = *(byte *)((long)puVar10 + 0x39);" (assignment_expression "bVar5 = *(byte *)((long)puVar10 + 0x39)" identifier = (pointer_expression "*(byte *)((long)puVar10 + 0x39)" * (cast_expression "(byte *)((long)puVar10 + 0x39)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar10 + 0x39)" ( (binary_expression "(long)puVar10 + 0x39" (cast_expression "(long)puVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;)) (if_statement "if ((bVar5 & 3) != 0) {\nLAB_0031026d:\n                bVar5 = bVar5 & 3;\n                bVar16 = bVar16 & 7;\nLAB_00310270:\n                if (((bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2)) &&\n                   (bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0)) goto LAB_00310293;\n              }" if (parenthesized_expression "((bVar5 & 3) != 0)" ( (binary_expression "(bVar5 & 3) != 0" (parenthesized_expression "(bVar5 & 3)" ( (binary_expression "bVar5 & 3" identifier & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_0031026d:\n                bVar5 = bVar5 & 3;\n                bVar16 = bVar16 & 7;\nLAB_00310270:\n                if (((bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2)) &&\n                   (bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0)) goto LAB_00310293;\n              }" { (labeled_statement "LAB_0031026d:\n                bVar5 = bVar5 & 3;" statement_identifier : (expression_statement "bVar5 = bVar5 & 3;" (assignment_expression "bVar5 = bVar5 & 3" identifier = (binary_expression "bVar5 & 3" identifier & number_literal)) ;)) (expression_statement "bVar16 = bVar16 & 7;" (assignment_expression "bVar16 = bVar16 & 7" identifier = (binary_expression "bVar16 & 7" identifier & number_literal)) ;) (labeled_statement "LAB_00310270:\n                if (((bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2)) &&\n                   (bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0)) goto LAB_00310293;" statement_identifier : (if_statement "if (((bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2)) &&\n                   (bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0)) goto LAB_00310293;" if (parenthesized_expression "(((bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2)) &&\n                   (bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0))" ( (binary_expression "((bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2)) &&\n                   (bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0)" (parenthesized_expression "((bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2))" ( (binary_expression "(bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2)" (parenthesized_expression "(bVar16 == 4)" ( (binary_expression "bVar16 == 4" identifier == number_literal) )) && (parenthesized_expression "(*(byte *)(puVar10 + 7) >> 4 != 2)" ( (binary_expression "*(byte *)(puVar10 + 7) >> 4 != 2" (binary_expression "*(byte *)(puVar10 + 7) >> 4" (pointer_expression "*(byte *)(puVar10 + 7)" * (cast_expression "(byte *)(puVar10 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 7)" ( (binary_expression "puVar10 + 7" identifier + number_literal) )))) >> number_literal) != number_literal) ))) )) && (parenthesized_expression "(bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0)" ( (comma_expression "bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0" (assignment_expression "bVar16 = 4" identifier = number_literal) , (binary_expression "(*(byte *)((long)puVar10 + 0x3c) & 2) == 0" (parenthesized_expression "(*(byte *)((long)puVar10 + 0x3c) & 2)" ( (binary_expression "*(byte *)((long)puVar10 + 0x3c) & 2" (pointer_expression "*(byte *)((long)puVar10 + 0x3c)" * (cast_expression "(byte *)((long)puVar10 + 0x3c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar10 + 0x3c)" ( (binary_expression "(long)puVar10 + 0x3c" (cast_expression "(long)puVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) == number_literal)) ))) )) (goto_statement "goto LAB_00310293;" goto statement_identifier ;))) })) (labeled_statement "LAB_003101c0:\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);" statement_identifier : (expression_statement "bVar16 = *(byte *)((long)puVar10 + 0x3b);" (assignment_expression "bVar16 = *(byte *)((long)puVar10 + 0x3b)" identifier = (pointer_expression "*(byte *)((long)puVar10 + 0x3b)" * (cast_expression "(byte *)((long)puVar10 + 0x3b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar10 + 0x3b)" ( (binary_expression "(long)puVar10 + 0x3b" (cast_expression "(long)puVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;)) }))) (if_statement "if ((bVar16 & 4) != 0) {\n              FUN_00446c20(*param_2 + 0x1e0,puVar10,param_2,local_148,local_140);\n            }" if (parenthesized_expression "((bVar16 & 4) != 0)" ( (binary_expression "(bVar16 & 4) != 0" (parenthesized_expression "(bVar16 & 4)" ( (binary_expression "bVar16 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n              FUN_00446c20(*param_2 + 0x1e0,puVar10,param_2,local_148,local_140);\n            }" { (expression_statement "FUN_00446c20(*param_2 + 0x1e0,puVar10,param_2,local_148,local_140);" (call_expression "FUN_00446c20(*param_2 + 0x1e0,puVar10,param_2,local_148,local_140)" identifier (argument_list "(*param_2 + 0x1e0,puVar10,param_2,local_148,local_140)" ( (binary_expression "*param_2 + 0x1e0" (pointer_expression "*param_2" * identifier) + number_literal) , identifier , identifier , identifier , identifier ))) ;) })) })) }))) (expression_statement "local_138 = &local_d8;" (assignment_expression "local_138 = &local_d8" identifier = (pointer_expression "&local_d8" & identifier)) ;) (expression_statement "FUN_001a5bc0(&local_b8);" (call_expression "FUN_001a5bc0(&local_b8)" identifier (argument_list "(&local_b8)" ( (pointer_expression "&local_b8" & identifier) ))) ;) (expression_statement "FUN_001a5bc0(local_138);" (call_expression "FUN_001a5bc0(local_138)" identifier (argument_list "(local_138)" ( identifier ))) ;) })) (expression_statement "local_148 = local_148 + 1;" (assignment_expression "local_148 = local_148 + 1" identifier = (binary_expression "local_148 + 1" identifier + number_literal)) ;) (expression_statement "local_120 = local_120 + 3;" (assignment_expression "local_120 = local_120 + 3" identifier = (binary_expression "local_120 + 3" identifier + number_literal)) ;) }) while (parenthesized_expression "(param_5 != local_148)" ( (binary_expression "param_5 != local_148" identifier != identifier) )) ;) })) (return_statement "return;" return ;) })))
(translation_unit "/* 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 relocate_section(Target_aarch64<32,_true> * this,\n   Relocate_info<32,_true> * relinfo, uint sh_type, uchar * prelocs, size_t reloc_count,\n   Output_section * output_section, bool needs_special_offset_handling, uchar * view, Elf_Addr\n   address, section_size_type view_size, Reloc_symbol_changes * reloc_symbol_changes) */\n\nvoid __thiscall\nanon_unknown.dwarf_12235f4::Target_aarch64<32,_true>::relocate_section\n          (Target_aarch64<32,_true> *this,Relocate_info<32,_true> *relinfo,uint sh_type,\n          uchar *prelocs,size_t reloc_count,Output_section *output_section,\n          bool needs_special_offset_handling,uchar *view,Elf_Addr address,\n          section_size_type view_size,Reloc_symbol_changes *reloc_symbol_changes)\n\n{\n  byte bVar1;\n  _func_int_varargs **pp_Var2;\n  _func_int_varargs *p_Var3;\n  pointer pSVar4;\n  pointer ppSVar5;\n  pointer ppOVar6;\n  Sized_relobj_file<32,_true> *pSVar7;\n  code *pcVar8;\n  General_options *pGVar9;\n  Output_data_plt_aarch64<32,_true> *pOVar10;\n  pointer pcVar11;\n  section_size_type sVar12;\n  int iVar13;\n  bool bVar14;\n  byte bVar15;\n  uint uVar16;\n  Address AVar17;\n  int iVar18;\n  int iVar19;\n  char *pcVar20;\n  General_options *pGVar21;\n  uint64_t uVar22;\n  undefined8 uVar23;\n  long lVar24;\n  Relobj *pRVar25;\n  Output_relaxed_input_section *pOVar26;\n  char *pcVar27;\n  ulong uVar28;\n  byte bVar29;\n  uint uVar30;\n  _Alloc_hider _Var31;\n  General_options *pGVar32;\n  General_options *pGVar33;\n  General_options *pGVar34;\n  Relocate_info<32,_true> *pRVar35;\n  byte *pbVar36;\n  Sized_relobj_file<32,_true> *this_00;\n  uint uVar37;\n  Symbol_value<32> *pSVar38;\n  Sized_relobj_file<32,_true> *this_01;\n  bool bVar39;\n  bool bVar40;\n  byte bVar41;\n  General_options *local_148;\n  ulong local_140;\n  Symbol_value<32> *local_138;\n  uint *local_120;\n  uint local_ec;\n  bool is_ordinary;\n  Elf_Addr value;\n  uint key_symndx;\n  Symbol_value<32> symval;\n  Symbol_value<32> symval2;\n  Symbol_value<32> symval_1;\n  bool found;\n  undefined7 uStack_77;\n  undefined1 auStack_68 [16];\n  string reloc_name;\n  \n  bVar41 = 0;\n  if (sh_type != 4) {\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/aarch64.cc",0x1fca,"relocate_section");\n  }\n  this_01 = relinfo->object;\n  if (needs_special_offset_handling) {\n    pOVar26 = gold::Output_section::find_relaxed_input_section\n                        (output_section,(Relobj *)this_01,relinfo->data_shndx);\n    if (pOVar26 == (Output_relaxed_input_section *)0x0) {\n      this_01 = relinfo->object;\n    }\n    else {\n      bVar29 = (pOVar26->super_Output_section_data_build).super_Output_section_data.\n               super_Output_data.field_0x20;\n      if ((bVar29 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n      }\n      uVar28 = (pOVar26->super_Output_section_data_build).super_Output_section_data.\n               super_Output_data.address_;\n      if ((bVar29 & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n      }\n      sVar12 = (pOVar26->super_Output_section_data_build).super_Output_section_data.\n               super_Output_data.data_size_;\n      uVar37 = (uint)uVar28;\n      if ((uVar37 < address) || (address + view_size < (uVar28 & 0xffffffff) + sVar12)) {\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/aarch64.cc",0x1fda,"relocate_section");\n      }\n      this_01 = relinfo->object;\n      view = view + (uVar37 - address);\n      view_size = sVar12;\n    }\n  }\n  pp_Var2 = (this_01->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object;\n  p_Var3 = pp_Var2[0x23];\n  if (p_Var3 == gold::Relobj::local_symbol_count) {\n    local_ec = (*pp_Var2[0x2f])();\n  }\n  else {\n    local_ec = (*p_Var3)(this_01);\n  }\n  iVar13 = 0;\n  local_148 = (General_options *)0x0;\n  local_120 = (uint *)prelocs;\n  if (reloc_count != 0) {\n    do {\n      uVar37 = *local_120;\n      local_140 = (ulong)(uVar37 >> 0x18 | (uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8 |\n                         uVar37 << 0x18);\n      if ((!needs_special_offset_handling) ||\n         (local_140 = gold::Output_section::output_offset\n                                (output_section,(Relobj *)relinfo->object,relinfo->data_shndx,\n                                 local_140), local_140 != 0xffffffffffffffff)) {\n        symval._8_4_ = 0x80000000;\n        symval.u_.value = 0;\n        uVar37 = local_120[1];\n        symval.output_symtab_index_ = 0;\n        symval.output_dynsym_index_ = 0xffffffff;\n        uVar37 = ((uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8 | uVar37 << 0x18) >> 8;\n        if (uVar37 < local_ec) {\n          if ((reloc_symbol_changes != (Reloc_symbol_changes *)0x0) &&\n             (pGVar21 = (General_options *)\n                        (reloc_symbol_changes->vec_).\n                        super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                        _M_start[(long)local_148], pGVar21 != (General_options *)0x0)) {\nLAB_0030fa33:\n            uVar16 = *(uint *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                      longname.field_2 + 4);\n            uVar30 = uVar16 - 1;\n            if (0xfffffffd < uVar30) goto LAB_0030fa42;\nLAB_0030fcf0:\n            if (uVar30 == 0xfffffffd) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/object.h",0x70d,"set_output_symtab_index");\n            }\n            symval.output_symtab_index_ = uVar16;\n            goto LAB_0030fa4a;\n          }\n          pSVar4 = (this_01->local_values_).\n                   super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                   ._M_impl._M_start;\n          if ((ulong)(((long)(this_01->local_values_).\n                             super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                             ._M_impl._M_finish - (long)pSVar4 >> 3) * -0x5555555555555555) <=\n              (ulong)uVar37) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/object.h",0x8c1,"local_symbol");\n          }\n          pSVar38 = pSVar4 + uVar37;\n          uVar16 = *(uint *)&pSVar38->field_0x8 & 0x7ffffff;\n          uVar30 = *(uint *)&pSVar38->field_0x8 & 0x7ffffff;\n          if (((pSVar38->field_0xb & 8) == 0) || (uVar16 == 0)) {\nLAB_0030fbb3:\n            pGVar21 = (General_options *)0x0;\n            goto LAB_0030faa5;\n          }\n          ppOVar6 = (this_01->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n          if ((ulong)((long)(this_01->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (long)ppOVar6 >> 3) <= (ulong)uVar16) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310860 to 00310864 has its CatchHandler @ 0031092a */\n            gold::do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (ppOVar6[uVar16] != (Output_section *)0x0) goto LAB_0030fbb3;\n          bVar14 = gold::Symbol_table::is_section_folded(relinfo->symtab,(Relobj *)this_01,uVar30);\n          pGVar21 = (General_options *)0x0;\n          if (bVar14) {\n            pGVar21 = (General_options *)0x0;\n            goto LAB_0030faa5;\n          }\nLAB_0030fd25:\n          symval2._8_4_ = 0x80000000;\n          symval2.output_symtab_index_ = 0;\n          symval2.output_dynsym_index_ = 0xffffffff;\n          symval2.u_.value = 0;\n          p_Var3 = (this_01->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object\n                   [0x10];\n          if (p_Var3 == gold::Sized_relobj_file<32,_true>::do_section_name) {\n                    /* try { // try from 0030fd86 to 0030fd8a has its CatchHandler @ 00310922 */\n            elfcpp::Elf_file<32,_true,_gold::Object>::section_name\n                      (&reloc_name,&this_01->elf_file_,relinfo->data_shndx);\n          }\n          else {\n                    /* try { // try from 00310038 to 00310039 has its CatchHandler @ 00310922 */\n            (*p_Var3)(&reloc_name,this_01);\n          }\n          bVar14 = false;\n          bVar40 = iVar13 == 0;\n          if (bVar40) {\n            lVar24 = 6;\n            _Var31._M_p = reloc_name._M_dataplus._M_p;\n            pbVar36 = &DAT_00533552;\n            do {\n              if (lVar24 == 0) break;\n              lVar24 = lVar24 + -1;\n              bVar14 = (byte)*_Var31._M_p < *pbVar36;\n              bVar40 = *_Var31._M_p == *pbVar36;\n              _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n              pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n            } while (bVar40);\n            bVar39 = false;\n            bVar14 = (!bVar14 && !bVar40) == bVar14;\n            if (!bVar14) {\n              lVar24 = 7;\n              _Var31._M_p = reloc_name._M_dataplus._M_p;\n              pbVar36 = (byte *)".zdebug";\n              do {\n                if (lVar24 == 0) break;\n                lVar24 = lVar24 + -1;\n                bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                bVar14 = *_Var31._M_p == *pbVar36;\n                _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n              } while (bVar14);\n              bVar40 = false;\n              bVar14 = (!bVar39 && !bVar14) == bVar39;\n              if (!bVar14) {\n                lVar24 = 0x11;\n                _Var31._M_p = reloc_name._M_dataplus._M_p;\n                pbVar36 = (byte *)".gnu.linkonce.wi.";\n                do {\n                  if (lVar24 == 0) break;\n                  lVar24 = lVar24 + -1;\n                  bVar40 = (byte)*_Var31._M_p < *pbVar36;\n                  bVar14 = *_Var31._M_p == *pbVar36;\n                  _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                  pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                } while (bVar14);\n                bVar39 = false;\n                bVar14 = (!bVar40 && !bVar14) == bVar40;\n                if (!bVar14) {\n                  lVar24 = 5;\n                  _Var31._M_p = reloc_name._M_dataplus._M_p;\n                  pbVar36 = (byte *)".line";\n                  do {\n                    if (lVar24 == 0) break;\n                    lVar24 = lVar24 + -1;\n                    bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                    bVar14 = *_Var31._M_p == *pbVar36;\n                    _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                    pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                  } while (bVar14);\n                  bVar40 = false;\n                  bVar14 = (!bVar39 && !bVar14) == bVar39;\n                  if (!bVar14) {\n                    lVar24 = 5;\n                    _Var31._M_p = reloc_name._M_dataplus._M_p;\n                    pbVar36 = (byte *)".stab";\n                    do {\n                      if (lVar24 == 0) break;\n                      lVar24 = lVar24 + -1;\n                      bVar40 = (byte)*_Var31._M_p < *pbVar36;\n                      bVar14 = *_Var31._M_p == *pbVar36;\n                      _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                      pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                    } while (bVar14);\n                    bVar39 = false;\n                    bVar14 = (!bVar40 && !bVar14) == bVar40;\n                    if (!bVar14) {\n                      lVar24 = 4;\n                      _Var31._M_p = reloc_name._M_dataplus._M_p;\n                      pbVar36 = &DAT_0053357f;\n                      do {\n                        if (lVar24 == 0) break;\n                        lVar24 = lVar24 + -1;\n                        bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                        bVar14 = *_Var31._M_p == *pbVar36;\n                        _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                        pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                      } while (bVar14);\n                      bVar40 = false;\n                      bVar14 = (!bVar39 && !bVar14) == bVar39;\n                      if (!bVar14) {\n                        lVar24 = 10;\n                        _Var31._M_p = reloc_name._M_dataplus._M_p;\n                        pbVar36 = (byte *)".eh_frame";\n                        do {\n                          if (lVar24 == 0) break;\n                          lVar24 = lVar24 + -1;\n                          bVar40 = (byte)*_Var31._M_p < *pbVar36;\n                          bVar14 = *_Var31._M_p == *pbVar36;\n                          _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                          pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                        } while (bVar14);\n                        bVar39 = false;\n                        bVar14 = (!bVar40 && !bVar14) == bVar40;\n                        if (!bVar14) {\n                          lVar24 = 0x12;\n                          _Var31._M_p = reloc_name._M_dataplus._M_p;\n                          pbVar36 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar24 == 0) break;\n                            lVar24 = lVar24 + -1;\n                            bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                            bVar14 = *_Var31._M_p == *pbVar36;\n                            _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                            pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                          } while (bVar14);\n                          if ((!bVar39 && !bVar14) != bVar39) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0030fdc0:\n                    /* try { // try from 0030fdd2 to 0030fdd6 has its CatchHandler @ 00310912 */\n            AVar17 = gold::Sized_relobj_file<32,_true>::map_to_kept_section\n                               (this_01,uVar30,&reloc_name,&found);\n            symval2.u_.value = 0;\n            if (found != false) {\n              symval2.u_.value = AVar17 + (pSVar38->u_).value;\n            }\n            iVar13 = 1;\n          }\n          else {\n            if (iVar13 == 1) goto LAB_0030fdc0;\n            if (iVar13 == 3) {\nLAB_0030ff50:\n              pSVar7 = relinfo->object;\n              if (pGVar21 == (General_options *)0x0) {\n                    /* try { // try from 003105ee to 0031061d has its CatchHandler @ 00310912 */\n                pcVar20 = gold::Sized_relobj_file<32,_true>::get_symbol_name(pSVar7,uVar37);\n                pcVar27 = (char *)gettext(\n                                         "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                         );\n                gold::gold_error_at_location<32,_true>\n                          (relinfo,(size_t)local_148,local_140,pcVar27,pcVar20,(ulong)uVar37);\n              }\n              else {\n                    /* try { // try from 0030ff70 to 0030ff74 has its CatchHandler @ 00310912 */\n                gold::Symbol::demangled_name((string *)&found,(Symbol *)pGVar21);\n                uVar23 = CONCAT71(uStack_77,found);\n                pcVar20 = (char *)gettext(\n                                         "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                         );\n                    /* try { // try from 0030ffa4 to 0030ffa8 has its CatchHandler @ 0031093c */\n                gold::gold_error_at_location<32,_true>\n                          (relinfo,(size_t)local_148,local_140,pcVar20,uVar23);\n                if ((undefined1 *)CONCAT71(uStack_77,found) != auStack_68) {\n                  operator_delete((undefined1 *)CONCAT71(uStack_77,found));\n                }\n              }\n                    /* try { // try from 0030ffd1 to 0030ffd5 has its CatchHandler @ 00310912 */\n              uVar37 = gold::Sized_relobj_file<32,_true>::symbol_section_and_value\n                                 (pSVar7,uVar37,&value,&is_ordinary);\n              if (uVar37 != 0) {\n                    /* try { // try from 00310544 to 0031057d has its CatchHandler @ 00310912 */\n                pRVar25 = gold::Sized_relobj_file<32,_true>::find_kept_section_object\n                                    (pSVar7,uVar37,&key_symndx);\n                if (key_symndx != 0) {\n                    /* try { // try from 00310725 to 00310745 has its CatchHandler @ 00310912 */\n                  pcVar20 = gold::Sized_relobj_file<32,_true>::get_symbol_name(pSVar7,key_symndx);\n                  pcVar27 = (char *)gettext("  section group signature: \"%s\"");\n                  gold::gold_info(pcVar27,pcVar20);\n                }\n                if (pRVar25 != (Relobj *)0x0) {\n                  pcVar11 = (pRVar25->super_Object).name_._M_dataplus._M_p;\n                  pcVar20 = (char *)gettext("  prevailing definition is from %s");\n                  gold::gold_info(pcVar20,pcVar11);\n                }\n              }\n              iVar13 = 3;\n            }\n            else {\nLAB_00310006:\n              iVar13 = 2;\n            }\n            symval2.u_.value = 0;\n          }\n          if (symval2.output_symtab_index_ != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310794 to 00310798 has its CatchHandler @ 00310912 */\n            gold::do_gold_unreachable("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\n          symval2.output_symtab_index_ = 0xffffffff;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)reloc_name._M_dataplus._M_p != &reloc_name.field_2) {\n            operator_delete(reloc_name._M_dataplus._M_p);\n          }\n          pSVar38 = &symval2;\n          if (-1 < (long)local_140) goto LAB_0030fae5;\nLAB_0030fe48:\n          pcVar20 = (char *)gettext("reloc has bad offset %zu");\n          pGVar21 = local_148;\n                    /* try { // try from 0030fe68 to 0030fe6c has its CatchHandler @ 00310922 */\n          gold::gold_error_at_location<32,_true>\n                    (relinfo,(size_t)local_148,local_140,pcVar20,local_140);\n          iVar19 = (int)pGVar21;\n        }\n        else {\n          if ((reloc_symbol_changes != (Reloc_symbol_changes *)0x0) &&\n             (pGVar21 = (General_options *)\n                        (reloc_symbol_changes->vec_).\n                        super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                        _M_start[(long)local_148], pGVar21 != (General_options *)0x0))\n          goto LAB_0030fa33;\n          if (uVar37 < this_01->local_symbol_count_) {\nLAB_003107a0:\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003107b3 to 003107ff has its CatchHandler @ 0031092a */\n            gold::do_gold_unreachable("../../gold/target-reloc.h",0x17f,"relocate_section");\n          }\n          ppSVar5 = (this_01->symbols_).\n                    super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                    _M_start;\n          uVar28 = (ulong)(uVar37 - this_01->local_symbol_count_);\n          if ((ulong)((long)(this_01->symbols_).\n                            super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n                            _M_impl._M_finish - (long)ppSVar5 >> 3) <= uVar28) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/object.h",0x8ad,"global_symbol");\n          }\n          pGVar21 = (General_options *)ppSVar5[uVar28];\n          if (pGVar21 == (General_options *)0x0) goto LAB_003107a0;\n          if (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring & 0x100000\n              ) == 0) goto LAB_0030fa33;\n                    /* try { // try from 0030fc40 to 0030fcb4 has its CatchHandler @ 0031092a */\n          pGVar21 = (General_options *)\n                    gold::Symbol_table::resolve_forwards(relinfo->symtab,(Symbol *)pGVar21);\n          uVar16 = *(uint *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                    longname.field_2 + 4);\n          uVar30 = uVar16 - 1;\n          if (uVar30 < 0xfffffffe) {\n            if ((symval.output_symtab_index_ != 0) && (symval.output_symtab_index_ != 0xfffffffe)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0031077c to 00310780 has its CatchHandler @ 0031092a */\n              gold::do_gold_unreachable("../../gold/object.h",0x70c,"set_output_symtab_index");\n            }\n            goto LAB_0030fcf0;\n          }\n          if (symval.output_symtab_index_ != 0) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\nLAB_0030fa42:\n          symval.output_symtab_index_ = 0xffffffff;\nLAB_0030fa4a:\n          symval.u_.value =\n               *(Value *)&(pGVar21->help_initializer_).super_Struct_special.option.helparg;\n          bVar29 = *(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                   0xf;\n          if (bVar29 == 6) {\n            symval._8_4_ = symval._8_4_ | 0x20000000;\n          }\n          else if (bVar29 == 10) {\n            symval._8_4_ = symval._8_4_ | 0x40000000;\n          }\n          bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                    helpstring + 3);\n          if ((char)bVar29 < '\0') {\n            pcVar20 = (pGVar21->help_initializer_).super_Struct_special.option.helpstring;\n            if (((ulong)pcVar20 & 0x70000) == 0) {\n              if ((*(uint *)&(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                             field_2 == 0) && ((bVar29 & 0x20) != 0)) {\nLAB_0030fd10:\n                pSVar38 = &symval;\n                uVar30 = 0;\n                goto LAB_0030fd25;\n              }\n            }\n            else if (((ulong)pcVar20 & 0x70000) == 0x40000) goto LAB_0030fd10;\n          }\n          pSVar38 = &symval;\nLAB_0030faa5:\n          symval2._8_4_ = 0x80000000;\n          symval2.output_symtab_index_ = 0;\n          symval2.output_dynsym_index_ = 0xffffffff;\n          symval2.u_.value = 0;\n          if ((long)local_140 < 0) goto LAB_0030fe48;\nLAB_0030fae5:\n          if ((view_size <= local_140) || (view + local_140 == (uchar *)0x0)) goto LAB_0030fe48;\n          uVar37 = local_120[1];\n          if (uVar37 >> 0x18 != 0) {\n            pcVar20 = (char *)gettext("Invalid/unrecognized reloc reloc %d.");\n                    /* try { // try from 0030fb3d to 0030fb59 has its CatchHandler @ 00310922 */\n            gold::gold_error(pcVar20,(ulong)(uVar37 >> 0x18));\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable\n                      ("../../gold/aarch64-reloc-property.h",0xeb,"code_to_array_index");\n          }\n          if (aarch64_reloc_property_table->table_[0] == (AArch64_reloc_property *)0x0) {\n                    /* try { // try from 003104dd to 003104e1 has its CatchHandler @ 00310922 */\n            gold::AArch64_reloc_property_table::reloc_name_in_error_message\n                      (&reloc_name,aarch64_reloc_property_table,0);\n            _Var31 = reloc_name._M_dataplus;\n            pcVar20 = (char *)gettext("cannot relocate %s in object file");\n            uVar37 = *local_120;\n            pGVar32 = local_148;\n                    /* try { // try from 00310510 to 00310514 has its CatchHandler @ 0031091a */\n            gold::gold_error_at_location<32,_true>\n                      (relinfo,(size_t)local_148,\n                       (ulong)(uVar37 >> 0x18 | (uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8 |\n                              uVar37 << 0x18),pcVar20,_Var31._M_p);\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)reloc_name._M_dataplus._M_p != &reloc_name.field_2) {\n              operator_delete(reloc_name._M_dataplus._M_p);\n            }\n          }\n          else {\n            pGVar32 = (General_options *)0x0;\n            pSVar7 = relinfo->object;\n            symval_1._8_4_ = 0x80000000;\n            symval_1.output_symtab_index_ = 0;\n            symval_1.output_dynsym_index_ = 0xffffffff;\n            symval_1.u_.value = 0;\n            if (pGVar21 == (General_options *)0x0) {\n              if ((pSVar38->field_0xb & 0x40) != 0) {\n                uVar37 = ((uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8 | uVar37 << 0x18) >> 8;\n                pGVar32 = (General_options *)(ulong)uVar37;\n                this_00 = pSVar7;\n                    /* try { // try from 00310475 to 003104bc has its CatchHandler @ 00310944 */\n                bVar14 = gold::Sized_relobj_file<32,_true>::local_has_plt_offset(pSVar7,uVar37);\n                if (bVar14) {\n                  pOVar10 = this->plt_;\n                  if (pOVar10 == (Output_data_plt_aarch64<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108c5 to 003108c9 has its CatchHandler @ 00310944 */\n                    plt_section((Target_aarch64<32,_true> *)this_00);\n                  }\n                  if (((pOVar10->super_Output_section_data).super_Output_data.field_0x20 & 1) == 0)\n                  {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108a8 to 003108ac has its CatchHandler @ 00310944 */\n                    gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar22 = (pOVar10->super_Output_section_data).super_Output_data.address_;\n                  uVar30 = pOVar10->count_;\n                  pGVar32 = (General_options *)(ulong)uVar37;\n                  iVar19 = (*(pSVar7->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                             _vptr_Object[0x2a])(pSVar7);\n                  symval_1.u_.value = (int)uVar22 + 0x20 + uVar30 * 0x10 + iVar19;\n                }\n              }\n            }\n            else {\n              uVar37 = aarch64_reloc_property_table->table_[0]->reference_flags_;\n              pGVar32 = (General_options *)(ulong)uVar37;\n                    /* try { // try from 003100df to 00310101 has its CatchHandler @ 00310944 */\n              bVar14 = gold::Symbol::use_plt_offset((Symbol *)pGVar21,uVar37);\n              if (bVar14) {\n                if (this->plt_ == (Output_data_plt_aarch64<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310800 to 00310804 has its CatchHandler @ 00310944 */\n                  plt_section((Target_aarch64<32,_true> *)0x0);\n                }\n                pGVar32 = pGVar21;\n                uVar22 = Output_data_plt_aarch64<32,_true>::address_for_global\n                                   (this->plt_,(Symbol *)pGVar21);\n                symval_1.u_.value = (Value)uVar22;\n              }\n            }\n            gold::Symbol_value<32>::~Symbol_value(&symval_1,(int)pGVar32);\n          }\n          iVar19 = (int)pGVar32;\n          if (pGVar21 != (General_options *)0x0) {\n            bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                      helpstring + 2);\n            bVar15 = bVar29 & 7;\n            if ((bVar29 & 7) == 0) {\n              if ((*(int *)&(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                            field_2 != 0) ||\n                 (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                  0x20000000) == 0)) {\n                pcVar8 = *(code **)(*(long *)(pGVar21->help_initializer_).super_Struct_special.\n                                             option.longname._M_string_length + 0x28);\n                if (pcVar8 != gold::Object::do_pluginobj) {\n                  lVar24 = (*pcVar8)();\n                  iVar19 = (int)pGVar32;\n                  if (lVar24 != 0) {\n                    bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 2);\n                    bVar15 = bVar29 & 7;\n                    if ((bVar29 & 7) == 0) {\n                      uVar37 = *(uint *)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                         longname.field_2;\n                      pGVar32 = (General_options *)(ulong)uVar37;\n                      bVar1 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                               option.helpstring + 3);\n                      if ((uVar37 == 0) && ((bVar1 & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)bVar1 < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar15 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 3)) goto LAB_00310305;\n                    bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 1);\n                    if ((bVar15 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }\nLAB_0031015a:\n                bVar1 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                         helpstring + 1);\n                bVar29 = bVar29 & 7;\n                bVar15 = bVar1 & 3;\n                if ((bVar1 & 3) == 0) goto LAB_003101c0;\nLAB_00310166:\n                if (((*(int *)&(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                               field_2 == 0) &&\n                    (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                     0x20000000) != 0)) &&\n                   ((*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring\n                     >> 4 != 2 &&\n                    (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                     0x200000000) == 0)))) {\nLAB_00310293:\n                  if (gold::parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108dd to 003108e1 has its CatchHandler @ 00310922 */\n                    gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if ((gold::parameters->options_->weak_unresolved_symbols_).value != false) {\n                    if (bVar29 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)((pGVar21->help_initializer_).super_Struct_special.option.longname.\n                                 _M_string_length + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }\n                if (bVar15 == 2) {\n                  uVar23 = gettext("hidden");\n                }\n                else if (bVar15 < 3) {\n                  if (bVar15 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    gold::do_gold_unreachable("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar23 = gettext("internal");\n                }\n                else {\n                  uVar23 = gettext("protected");\n                }\n                pp_Var2 = (pGVar21->help_initializer_).super_Struct_special.super_Struct_var.\n                          _vptr_Struct_var;\n                pcVar20 = (char *)gettext("%s symbol \'%s\' is not defined locally");\n                    /* try { // try from 003101b4 to 0031042c has its CatchHandler @ 00310922 */\n                gold::gold_error(pcVar20,uVar23,pp_Var2);\n                iVar19 = (int)uVar23;\n                goto LAB_003101c0;\n              }\nLAB_0031020c:\n              if ((*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring >>\n                   4 == 2) ||\n                 (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                  0x200000000) != 0)) {\nLAB_00310438:\n                iVar19 = (int)pGVar32;\n                bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 1) & 3;\nLAB_0031043f:\n                if (bVar15 == 0) goto LAB_003101c0;\n                bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 2) & 7;\n                if (bVar29 != 0) goto LAB_00310270;\n                goto LAB_00310166;\n              }\n              pGVar32 = gold::parameters->options_;\n              if (pGVar32 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310878 to 0031087c has its CatchHandler @ 00310922 */\n                gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((pGVar32->weak_unresolved_symbols_).value != false) goto LAB_00310438;\n              if (*(char *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                   helpstring + 3) < '\0') {\n                if (bVar15 != 0) goto LAB_00310260;\nLAB_003105b8:\n                iVar19 = (int)pGVar32;\n                pcVar8 = *(code **)(*(long *)(pGVar21->help_initializer_).super_Struct_special.\n                                             option.longname._M_string_length + 0x28);\n                if (pcVar8 == gold::Object::do_pluginobj) goto LAB_0031015a;\n                    /* try { // try from 003105cc to 003105cd has its CatchHandler @ 00310922 */\n                lVar24 = (*pcVar8)();\n                if (lVar24 == 0) goto LAB_00310438;\n              }\nLAB_00310305:\n              iVar19 = (int)pGVar32;\n              if (gold::parameters->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310818 to 0031084c has its CatchHandler @ 00310922 */\n                gold::do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n              }\n              p_Var3 = gold::parameters->target_->_vptr_Target[7];\n              if (p_Var3 != gold::Target::do_is_defined_by_abi) {\n                pGVar32 = pGVar21;\n                iVar18 = (*p_Var3)();\n                iVar19 = (int)pGVar32;\n                if ((char)iVar18 != '\0') goto LAB_00310438;\n              }\n              pGVar9 = gold::parameters->options_;\n              if (pGVar9 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              pGVar34 = (General_options *)(pGVar9->unresolved_symbols_).value;\n              bVar14 = false;\n              bVar40 = pGVar34 == (General_options *)0x0;\n              if (bVar40) {\n                bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 1) & 3;\nLAB_003103c9:\n                if ((bVar15 == 2) ||\n                   (((pGVar9->shared_).value == false || ((pGVar9->defs_).value != false))))\n                goto LAB_003103e1;\n                goto LAB_0031043f;\n              }\n              lVar24 = 0xb;\n              pGVar33 = pGVar34;\n              pbVar36 = (byte *)"ignore-all";\n              do {\n                pGVar32 = pGVar33;\n                if (lVar24 == 0) break;\n                lVar24 = lVar24 + -1;\n                pGVar32 = (General_options *)((long)pGVar33 + (ulong)bVar41 * -2 + 1);\n                bVar29 = *(byte *)&(pGVar33->help_initializer_).super_Struct_special.\n                                   super_Struct_var._vptr_Struct_var;\n                bVar14 = bVar29 < *pbVar36;\n                bVar40 = bVar29 == *pbVar36;\n                pGVar33 = pGVar32;\n                pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n              } while (bVar40);\n              bVar39 = false;\n              bVar14 = (!bVar14 && !bVar40) == bVar14;\n              if (bVar14) goto LAB_00310438;\n              lVar24 = 0xb;\n              pGVar32 = pGVar34;\n              pbVar36 = (byte *)"report-all";\n              do {\n                if (lVar24 == 0) break;\n                lVar24 = lVar24 + -1;\n                bVar29 = *(byte *)&(pGVar32->help_initializer_).super_Struct_special.\n                                   super_Struct_var._vptr_Struct_var;\n                bVar39 = bVar29 < *pbVar36;\n                bVar14 = bVar29 == *pbVar36;\n                pGVar32 = (General_options *)((long)pGVar32 + (ulong)bVar41 * -2 + 1);\n                pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n              } while (bVar14);\n              bVar40 = false;\n              bVar14 = (!bVar39 && !bVar14) == bVar39;\n              if (!bVar14) {\n                lVar24 = 0x17;\n                pGVar32 = pGVar34;\n                pbVar36 = (byte *)"ignore-in-object-files";\n                do {\n                  pGVar33 = pGVar32;\n                  if (lVar24 == 0) break;\n                  lVar24 = lVar24 + -1;\n                  pGVar33 = (General_options *)((long)pGVar32 + (ulong)bVar41 * -2 + 1);\n                  bVar29 = *(byte *)&(pGVar32->help_initializer_).super_Struct_special.\n                                     super_Struct_var._vptr_Struct_var;\n                  bVar40 = bVar29 < *pbVar36;\n                  bVar14 = bVar29 == *pbVar36;\n                  pGVar32 = pGVar33;\n                  pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                } while (bVar14);\n                iVar19 = (int)pGVar33;\n                bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 1) & 3;\n                bVar14 = (!bVar40 && !bVar14) == bVar40;\n                if ((!bVar14) ||\n                   (bVar14 = ((ulong)(pGVar21->help_initializer_).super_Struct_special.option.\n                                     helpstring & 0x1000000) == 0, !bVar14)) {\n                  bVar40 = false;\n                  lVar24 = 0x16;\n                  pbVar36 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    pGVar32 = pGVar34;\n                    if (lVar24 == 0) break;\n                    lVar24 = lVar24 + -1;\n                    pGVar32 = (General_options *)((long)pGVar34 + (ulong)bVar41 * -2 + 1);\n                    bVar29 = *(byte *)&(pGVar34->help_initializer_).super_Struct_special.\n                                       super_Struct_var._vptr_Struct_var;\n                    bVar40 = bVar29 < *pbVar36;\n                    bVar14 = bVar29 == *pbVar36;\n                    pGVar34 = pGVar32;\n                    pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                  } while (bVar14);\n                  iVar19 = (int)pGVar32;\n                  if (((!bVar40 && !bVar14) != bVar40) ||\n                     (*(char *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                       helpstring + 2) < '\0')) goto LAB_003103c9;\n                }\n                goto LAB_0031043f;\n              }\nLAB_003103e1:\n              pRVar35 = relinfo;\n              gold::gold_undefined_symbol_at_location<32,_true>\n                        ((Symbol *)pGVar21,relinfo,(size_t)local_148,local_140);\n              iVar19 = (int)pRVar35;\n              bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                        helpstring + 3);\n            }\n            else {\n              if (bVar15 == 4) goto LAB_0031020c;\nLAB_00310260:\n              iVar19 = (int)pGVar32;\n              bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                        helpstring + 1);\n              if ((bVar15 & 3) != 0) {\nLAB_0031026d:\n                bVar15 = bVar15 & 3;\n                bVar29 = bVar29 & 7;\nLAB_00310270:\n                if (((bVar29 == 4) &&\n                    (*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring\n                     >> 4 != 2)) &&\n                   (bVar29 = 4,\n                   ((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                   0x200000000) == 0)) goto LAB_00310293;\n              }\nLAB_003101c0:\n              bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                        helpstring + 3);\n            }\n            if ((bVar29 & 4) != 0) {\n              gold::Warnings::issue_warning<32,_true>\n                        (&relinfo->symtab->warnings_,(Symbol *)pGVar21,relinfo,(size_t)local_148,\n                         local_140);\n              iVar19 = (int)pGVar21;\n            }\n          }\n        }\n        local_138 = &symval;\n        gold::Symbol_value<32>::~Symbol_value(&symval2,iVar19);\n        gold::Symbol_value<32>::~Symbol_value(local_138,iVar19);\n      }\n      local_148 = (General_options *)\n                  ((long)&(local_148->help_initializer_).super_Struct_special.super_Struct_var.\n                          _vptr_Struct_var + 1);\n      local_120 = local_120 + 3;\n    } while ((General_options *)reloc_count != local_148);\n  }\n  return;\n}\n\n" comment comment comment (declaration "void __thiscall\nanon_unknown.dwarf_12235f4::Target_aarch64<32,_true>::relocate_section\n          (Target_aarch64<32,_true> *this,Relocate_info<32,_true> *relinfo,uint sh_type,\n          uchar *prelocs,size_t reloc_count,Output_section *output_section,\n          bool needs_special_offset_handling,uchar *view,Elf_Addr address,\n          section_size_type view_size,Reloc_symbol_changes *reloc_symbol_changes)\n\n{\n  byte bVar1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "anon_unknown.dwarf_12235f4::" identifier . identifier : :) identifier (ERROR "<32" < number_literal) , (ERROR "_true>::relocate_section\n          (Target_aarch64<32,_true> *this,Relocate_info<32,_true> *relinfo,uint sh_type,\n          uchar *prelocs,size_t reloc_count,Output_section *output_section,\n          bool needs_special_offset_handling,uchar *view,Elf_Addr address,\n          section_size_type view_size,Reloc_symbol_changes *reloc_symbol_changes)\n\n{\n  byte" identifier > : : (function_declarator "relocate_section\n          (Target_aarch64<32,_true> *this,Relocate_info<32,_true> *relinfo,uint sh_type,\n          uchar *prelocs,size_t reloc_count,Output_section *output_section,\n          bool needs_special_offset_handling,uchar *view,Elf_Addr address,\n          section_size_type view_size,Reloc_symbol_changes *reloc_symbol_changes)" identifier (parameter_list "(Target_aarch64<32,_true> *this,Relocate_info<32,_true> *relinfo,uint sh_type,\n          uchar *prelocs,size_t reloc_count,Output_section *output_section,\n          bool needs_special_offset_handling,uchar *view,Elf_Addr address,\n          section_size_type view_size,Reloc_symbol_changes *reloc_symbol_changes)" ( (parameter_declaration "Target_aarch64" type_identifier) (ERROR "<32" < number_literal) , (parameter_declaration "_true> *this" type_identifier (ERROR ">" >) (pointer_declarator "*this" * identifier)) , (parameter_declaration "Relocate_info" type_identifier) (ERROR "<32" < number_literal) , (parameter_declaration "_true> *relinfo" type_identifier (ERROR ">" >) (pointer_declarator "*relinfo" * identifier)) , (parameter_declaration "uint sh_type" type_identifier identifier) , (parameter_declaration "uchar *prelocs" type_identifier (pointer_declarator "*prelocs" * identifier)) , (parameter_declaration "size_t reloc_count" primitive_type identifier) , (parameter_declaration "Output_section *output_section" type_identifier (pointer_declarator "*output_section" * identifier)) , (parameter_declaration "bool needs_special_offset_handling" primitive_type identifier) , (parameter_declaration "uchar *view" type_identifier (pointer_declarator "*view" * identifier)) , (parameter_declaration "Elf_Addr address" type_identifier identifier) , (parameter_declaration "section_size_type view_size" type_identifier identifier) , (parameter_declaration "Reloc_symbol_changes *reloc_symbol_changes" type_identifier (pointer_declarator "*reloc_symbol_changes" * identifier)) ))) { identifier) identifier ;) (declaration "_func_int_varargs **pp_Var2;" type_identifier (pointer_declarator "**pp_Var2" * (pointer_declarator "*pp_Var2" * identifier)) ;) (declaration "_func_int_varargs *p_Var3;" type_identifier (pointer_declarator "*p_Var3" * identifier) ;) (declaration "pointer pSVar4;" type_identifier identifier ;) (declaration "pointer ppSVar5;" type_identifier identifier ;) (declaration "pointer ppOVar6;" type_identifier identifier ;) (expression_statement "Sized_relobj_file<32,_true> *pSVar7;" (update_expression "Sized_relobj_file<32,_true> *pSVar7" (binary_expression "Sized_relobj_file<32,_true> *pSVar7" (binary_expression "Sized_relobj_file<32" identifier < number_literal) (ERROR ",_true" , identifier) > (pointer_expression "*pSVar7" * identifier)) --) ;) (declaration "code *pcVar8;" type_identifier (pointer_declarator "*pcVar8" * identifier) ;) (declaration "General_options *pGVar9;" type_identifier (pointer_declarator "*pGVar9" * identifier) ;) (expression_statement "Output_data_plt_aarch64<32,_true> *pOVar10;" (update_expression "Output_data_plt_aarch64<32,_true> *pOVar10" (binary_expression "Output_data_plt_aarch64<32,_true> *pOVar10" (binary_expression "Output_data_plt_aarch64<32" identifier < number_literal) (ERROR ",_true" , identifier) > (pointer_expression "*pOVar10" * identifier)) --) ;) (declaration "pointer pcVar11;" type_identifier identifier ;) (declaration "section_size_type sVar12;" type_identifier identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "bool bVar14;" primitive_type identifier ;) (declaration "byte bVar15;" type_identifier identifier ;) (declaration "uint uVar16;" type_identifier identifier ;) (declaration "Address AVar17;" type_identifier identifier ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "int iVar19;" primitive_type identifier ;) (declaration "char *pcVar20;" primitive_type (pointer_declarator "*pcVar20" * identifier) ;) (declaration "General_options *pGVar21;" type_identifier (pointer_declarator "*pGVar21" * identifier) ;) (declaration "uint64_t uVar22;" primitive_type identifier ;) (declaration "undefined8 uVar23;" type_identifier identifier ;) (declaration "long lVar24;" (sized_type_specifier "long" long) identifier ;) (declaration "Relobj *pRVar25;" type_identifier (pointer_declarator "*pRVar25" * identifier) ;) (declaration "Output_relaxed_input_section *pOVar26;" type_identifier (pointer_declarator "*pOVar26" * identifier) ;) (declaration "char *pcVar27;" primitive_type (pointer_declarator "*pcVar27" * identifier) ;) (declaration "ulong uVar28;" type_identifier identifier ;) (declaration "byte bVar29;" type_identifier identifier ;) (declaration "uint uVar30;" type_identifier identifier ;) (declaration "_Alloc_hider _Var31;" type_identifier identifier ;) (declaration "General_options *pGVar32;" type_identifier (pointer_declarator "*pGVar32" * identifier) ;) (declaration "General_options *pGVar33;" type_identifier (pointer_declarator "*pGVar33" * identifier) ;) (declaration "General_options *pGVar34;" type_identifier (pointer_declarator "*pGVar34" * identifier) ;) (expression_statement "Relocate_info<32,_true> *pRVar35;" (update_expression "Relocate_info<32,_true> *pRVar35" (binary_expression "Relocate_info<32,_true> *pRVar35" (binary_expression "Relocate_info<32" identifier < number_literal) (ERROR ",_true" , identifier) > (pointer_expression "*pRVar35" * identifier)) --) ;) (declaration "byte *pbVar36;" type_identifier (pointer_declarator "*pbVar36" * identifier) ;) (expression_statement "Sized_relobj_file<32,_true> *this_00;" (update_expression "Sized_relobj_file<32,_true> *this_00" (binary_expression "Sized_relobj_file<32,_true> *this_00" (binary_expression "Sized_relobj_file<32" identifier < number_literal) (ERROR ",_true" , identifier) > (pointer_expression "*this_00" * identifier)) --) ;) (declaration "uint uVar37;" type_identifier identifier ;) (expression_statement "Symbol_value<32> *pSVar38;" (update_expression "Symbol_value<32> *pSVar38" (binary_expression "Symbol_value<32> *pSVar38" (binary_expression "Symbol_value<32" identifier < number_literal) > (pointer_expression "*pSVar38" * identifier)) --) ;) (expression_statement "Sized_relobj_file<32,_true> *this_01;" (update_expression "Sized_relobj_file<32,_true> *this_01" (binary_expression "Sized_relobj_file<32,_true> *this_01" (binary_expression "Sized_relobj_file<32" identifier < number_literal) (ERROR ",_true" , identifier) > (pointer_expression "*this_01" * identifier)) --) ;) (declaration "bool bVar39;" primitive_type identifier ;) (declaration "bool bVar40;" primitive_type identifier ;) (declaration "byte bVar41;" type_identifier identifier ;) (declaration "General_options *local_148;" type_identifier (pointer_declarator "*local_148" * identifier) ;) (declaration "ulong local_140;" type_identifier identifier ;) (expression_statement "Symbol_value<32> *local_138;" (update_expression "Symbol_value<32> *local_138" (binary_expression "Symbol_value<32> *local_138" (binary_expression "Symbol_value<32" identifier < number_literal) > (pointer_expression "*local_138" * identifier)) --) ;) (declaration "uint *local_120;" type_identifier (pointer_declarator "*local_120" * identifier) ;) (declaration "uint local_ec;" type_identifier identifier ;) (declaration "bool is_ordinary;" primitive_type identifier ;) (declaration "Elf_Addr value;" type_identifier identifier ;) (declaration "uint key_symndx;" type_identifier identifier ;) (expression_statement "Symbol_value<32> symval;" (update_expression "Symbol_value<32> symval" (binary_expression "Symbol_value<32> symval" (binary_expression "Symbol_value<32" identifier < number_literal) > identifier) --) ;) (expression_statement "Symbol_value<32> symval2;" (update_expression "Symbol_value<32> symval2" (binary_expression "Symbol_value<32> symval2" (binary_expression "Symbol_value<32" identifier < number_literal) > identifier) --) ;) (expression_statement "Symbol_value<32> symval_1;" (update_expression "Symbol_value<32> symval_1" (binary_expression "Symbol_value<32> symval_1" (binary_expression "Symbol_value<32" identifier < number_literal) > identifier) --) ;) (declaration "bool found;" primitive_type identifier ;) (declaration "undefined7 uStack_77;" type_identifier identifier ;) (declaration "undefined1 auStack_68 [16];" type_identifier (array_declarator "auStack_68 [16]" identifier [ number_literal ]) ;) (declaration "string reloc_name;" type_identifier identifier ;) (expression_statement "bVar41 = 0;" (assignment_expression "bVar41 = 0" identifier = number_literal) ;) (if_statement "if (sh_type != 4) {\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/aarch64.cc",0x1fca,"relocate_section");\n  }" if (parenthesized_expression "(sh_type != 4)" ( (binary_expression "sh_type != 4" identifier != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/aarch64.cc",0x1fca,"relocate_section");\n  }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/aarch64.cc",0x1fca,"relocate_section");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/aarch64.cc",0x1fca,"relocate_section");" (call_expression "do_gold_unreachable("../../gold/aarch64.cc",0x1fca,"relocate_section")" identifier (argument_list "("../../gold/aarch64.cc",0x1fca,"relocate_section")" ( (string_literal ""../../gold/aarch64.cc"" " string_content ") , number_literal , (string_literal ""relocate_section"" " string_content ") ))) ;)) })) (expression_statement "this_01 = relinfo->object;" (assignment_expression "this_01 = relinfo->object" identifier = (field_expression "relinfo->object" identifier -> field_identifier)) ;) (if_statement "if (needs_special_offset_handling) {\n    pOVar26 = gold::Output_section::find_relaxed_input_section\n                        (output_section,(Relobj *)this_01,relinfo->data_shndx);\n    if (pOVar26 == (Output_relaxed_input_section *)0x0) {\n      this_01 = relinfo->object;\n    }\n    else {\n      bVar29 = (pOVar26->super_Output_section_data_build).super_Output_section_data.\n               super_Output_data.field_0x20;\n      if ((bVar29 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n      }\n      uVar28 = (pOVar26->super_Output_section_data_build).super_Output_section_data.\n               super_Output_data.address_;\n      if ((bVar29 & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n      }\n      sVar12 = (pOVar26->super_Output_section_data_build).super_Output_section_data.\n               super_Output_data.data_size_;\n      uVar37 = (uint)uVar28;\n      if ((uVar37 < address) || (address + view_size < (uVar28 & 0xffffffff) + sVar12)) {\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/aarch64.cc",0x1fda,"relocate_section");\n      }\n      this_01 = relinfo->object;\n      view = view + (uVar37 - address);\n      view_size = sVar12;\n    }\n  }" if (parenthesized_expression "(needs_special_offset_handling)" ( identifier )) (compound_statement "{\n    pOVar26 = gold::Output_section::find_relaxed_input_section\n                        (output_section,(Relobj *)this_01,relinfo->data_shndx);\n    if (pOVar26 == (Output_relaxed_input_section *)0x0) {\n      this_01 = relinfo->object;\n    }\n    else {\n      bVar29 = (pOVar26->super_Output_section_data_build).super_Output_section_data.\n               super_Output_data.field_0x20;\n      if ((bVar29 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n      }\n      uVar28 = (pOVar26->super_Output_section_data_build).super_Output_section_data.\n               super_Output_data.address_;\n      if ((bVar29 & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n      }\n      sVar12 = (pOVar26->super_Output_section_data_build).super_Output_section_data.\n               super_Output_data.data_size_;\n      uVar37 = (uint)uVar28;\n      if ((uVar37 < address) || (address + view_size < (uVar28 & 0xffffffff) + sVar12)) {\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/aarch64.cc",0x1fda,"relocate_section");\n      }\n      this_01 = relinfo->object;\n      view = view + (uVar37 - address);\n      view_size = sVar12;\n    }\n  }" { (ERROR "pOVar26 = gold::" (assignment_expression "pOVar26 = gold" identifier = identifier) : :) (labeled_statement "Output_section::find_relaxed_input_section\n                        (output_section,(Relobj *)this_01,relinfo->data_shndx);" statement_identifier : (ERROR ":" :) (expression_statement "find_relaxed_input_section\n                        (output_section,(Relobj *)this_01,relinfo->data_shndx);" (call_expression "find_relaxed_input_section\n                        (output_section,(Relobj *)this_01,relinfo->data_shndx)" identifier (argument_list "(output_section,(Relobj *)this_01,relinfo->data_shndx)" ( identifier , (cast_expression "(Relobj *)this_01" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (field_expression "relinfo->data_shndx" identifier -> field_identifier) ))) ;)) (if_statement "if (pOVar26 == (Output_relaxed_input_section *)0x0) {\n      this_01 = relinfo->object;\n    }\n    else {\n      bVar29 = (pOVar26->super_Output_section_data_build).super_Output_section_data.\n               super_Output_data.field_0x20;\n      if ((bVar29 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n      }\n      uVar28 = (pOVar26->super_Output_section_data_build).super_Output_section_data.\n               super_Output_data.address_;\n      if ((bVar29 & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n      }\n      sVar12 = (pOVar26->super_Output_section_data_build).super_Output_section_data.\n               super_Output_data.data_size_;\n      uVar37 = (uint)uVar28;\n      if ((uVar37 < address) || (address + view_size < (uVar28 & 0xffffffff) + sVar12)) {\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/aarch64.cc",0x1fda,"relocate_section");\n      }\n      this_01 = relinfo->object;\n      view = view + (uVar37 - address);\n      view_size = sVar12;\n    }" if (parenthesized_expression "(pOVar26 == (Output_relaxed_input_section *)0x0)" ( (binary_expression "pOVar26 == (Output_relaxed_input_section *)0x0" identifier == (cast_expression "(Output_relaxed_input_section *)0x0" ( (type_descriptor "Output_relaxed_input_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      this_01 = relinfo->object;\n    }" { (expression_statement "this_01 = relinfo->object;" (assignment_expression "this_01 = relinfo->object" identifier = (field_expression "relinfo->object" identifier -> field_identifier)) ;) }) (else_clause "else {\n      bVar29 = (pOVar26->super_Output_section_data_build).super_Output_section_data.\n               super_Output_data.field_0x20;\n      if ((bVar29 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n      }\n      uVar28 = (pOVar26->super_Output_section_data_build).super_Output_section_data.\n               super_Output_data.address_;\n      if ((bVar29 & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n      }\n      sVar12 = (pOVar26->super_Output_section_data_build).super_Output_section_data.\n               super_Output_data.data_size_;\n      uVar37 = (uint)uVar28;\n      if ((uVar37 < address) || (address + view_size < (uVar28 & 0xffffffff) + sVar12)) {\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/aarch64.cc",0x1fda,"relocate_section");\n      }\n      this_01 = relinfo->object;\n      view = view + (uVar37 - address);\n      view_size = sVar12;\n    }" else (compound_statement "{\n      bVar29 = (pOVar26->super_Output_section_data_build).super_Output_section_data.\n               super_Output_data.field_0x20;\n      if ((bVar29 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n      }\n      uVar28 = (pOVar26->super_Output_section_data_build).super_Output_section_data.\n               super_Output_data.address_;\n      if ((bVar29 & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n      }\n      sVar12 = (pOVar26->super_Output_section_data_build).super_Output_section_data.\n               super_Output_data.data_size_;\n      uVar37 = (uint)uVar28;\n      if ((uVar37 < address) || (address + view_size < (uVar28 & 0xffffffff) + sVar12)) {\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/aarch64.cc",0x1fda,"relocate_section");\n      }\n      this_01 = relinfo->object;\n      view = view + (uVar37 - address);\n      view_size = sVar12;\n    }" { (expression_statement "bVar29 = (pOVar26->super_Output_section_data_build).super_Output_section_data.\n               super_Output_data.field_0x20;" (assignment_expression "bVar29 = (pOVar26->super_Output_section_data_build).super_Output_section_data.\n               super_Output_data.field_0x20" identifier = (field_expression "(pOVar26->super_Output_section_data_build).super_Output_section_data.\n               super_Output_data.field_0x20" (field_expression "(pOVar26->super_Output_section_data_build).super_Output_section_data.\n               super_Output_data" (field_expression "(pOVar26->super_Output_section_data_build).super_Output_section_data" (parenthesized_expression "(pOVar26->super_Output_section_data_build)" ( (field_expression "pOVar26->super_Output_section_data_build" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier)) ;) (if_statement "if ((bVar29 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n      }" if (parenthesized_expression "((bVar29 & 1) == 0)" ( (binary_expression "(bVar29 & 1) == 0" (parenthesized_expression "(bVar29 & 1)" ( (binary_expression "bVar29 & 1" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n      }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/output.h",0xc5,"address");" (call_expression "do_gold_unreachable("../../gold/output.h",0xc5,"address")" identifier (argument_list "("../../gold/output.h",0xc5,"address")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""address"" " string_content ") ))) ;)) })) (expression_statement "uVar28 = (pOVar26->super_Output_section_data_build).super_Output_section_data.\n               super_Output_data.address_;" (assignment_expression "uVar28 = (pOVar26->super_Output_section_data_build).super_Output_section_data.\n               super_Output_data.address_" identifier = (field_expression "(pOVar26->super_Output_section_data_build).super_Output_section_data.\n               super_Output_data.address_" (field_expression "(pOVar26->super_Output_section_data_build).super_Output_section_data.\n               super_Output_data" (field_expression "(pOVar26->super_Output_section_data_build).super_Output_section_data" (parenthesized_expression "(pOVar26->super_Output_section_data_build)" ( (field_expression "pOVar26->super_Output_section_data_build" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier)) ;) (if_statement "if ((bVar29 & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n      }" if (parenthesized_expression "((bVar29 & 2) == 0)" ( (binary_expression "(bVar29 & 2) == 0" (parenthesized_expression "(bVar29 & 2)" ( (binary_expression "bVar29 & 2" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n      }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/output.h",0xcf,"data_size");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/output.h",0xcf,"data_size");" (call_expression "do_gold_unreachable("../../gold/output.h",0xcf,"data_size")" identifier (argument_list "("../../gold/output.h",0xcf,"data_size")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""data_size"" " string_content ") ))) ;)) })) (expression_statement "sVar12 = (pOVar26->super_Output_section_data_build).super_Output_section_data.\n               super_Output_data.data_size_;" (assignment_expression "sVar12 = (pOVar26->super_Output_section_data_build).super_Output_section_data.\n               super_Output_data.data_size_" identifier = (field_expression "(pOVar26->super_Output_section_data_build).super_Output_section_data.\n               super_Output_data.data_size_" (field_expression "(pOVar26->super_Output_section_data_build).super_Output_section_data.\n               super_Output_data" (field_expression "(pOVar26->super_Output_section_data_build).super_Output_section_data" (parenthesized_expression "(pOVar26->super_Output_section_data_build)" ( (field_expression "pOVar26->super_Output_section_data_build" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "uVar37 = (uint)uVar28;" (assignment_expression "uVar37 = (uint)uVar28" identifier = (cast_expression "(uint)uVar28" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if ((uVar37 < address) || (address + view_size < (uVar28 & 0xffffffff) + sVar12)) {\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/aarch64.cc",0x1fda,"relocate_section");\n      }" if (parenthesized_expression "((uVar37 < address) || (address + view_size < (uVar28 & 0xffffffff) + sVar12))" ( (binary_expression "(uVar37 < address) || (address + view_size < (uVar28 & 0xffffffff) + sVar12)" (parenthesized_expression "(uVar37 < address)" ( (binary_expression "uVar37 < address" identifier < identifier) )) || (parenthesized_expression "(address + view_size < (uVar28 & 0xffffffff) + sVar12)" ( (binary_expression "address + view_size < (uVar28 & 0xffffffff) + sVar12" (binary_expression "address + view_size" identifier + identifier) < (binary_expression "(uVar28 & 0xffffffff) + sVar12" (parenthesized_expression "(uVar28 & 0xffffffff)" ( (binary_expression "uVar28 & 0xffffffff" identifier & number_literal) )) + identifier)) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/aarch64.cc",0x1fda,"relocate_section");\n      }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/aarch64.cc",0x1fda,"relocate_section");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/aarch64.cc",0x1fda,"relocate_section");" (call_expression "do_gold_unreachable("../../gold/aarch64.cc",0x1fda,"relocate_section")" identifier (argument_list "("../../gold/aarch64.cc",0x1fda,"relocate_section")" ( (string_literal ""../../gold/aarch64.cc"" " string_content ") , number_literal , (string_literal ""relocate_section"" " string_content ") ))) ;)) })) (expression_statement "this_01 = relinfo->object;" (assignment_expression "this_01 = relinfo->object" identifier = (field_expression "relinfo->object" identifier -> field_identifier)) ;) (expression_statement "view = view + (uVar37 - address);" (assignment_expression "view = view + (uVar37 - address)" identifier = (binary_expression "view + (uVar37 - address)" identifier + (parenthesized_expression "(uVar37 - address)" ( (binary_expression "uVar37 - address" identifier - identifier) )))) ;) (expression_statement "view_size = sVar12;" (assignment_expression "view_size = sVar12" identifier = identifier) ;) }))) })) (expression_statement "pp_Var2 = (this_01->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object;" (assignment_expression "pp_Var2 = (this_01->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object" identifier = (field_expression "(this_01->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object" (field_expression "(this_01->super_Sized_relobj<32,_true>).super_Relobj.super_Object" (field_expression "(this_01->super_Sized_relobj<32,_true>).super_Relobj" (parenthesized_expression "(this_01->super_Sized_relobj<32,_true>)" ( (comma_expression "this_01->super_Sized_relobj<32,_true" (binary_expression "this_01->super_Sized_relobj<32" (field_expression "this_01->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "p_Var3 = pp_Var2[0x23];" (assignment_expression "p_Var3 = pp_Var2[0x23]" identifier = (subscript_expression "pp_Var2[0x23]" identifier [ number_literal ])) ;) (if_statement "if (p_Var3 == gold::Relobj::local_symbol_count) {\n    local_ec = (*pp_Var2[0x2f])();\n  }\n  else {\n    local_ec = (*p_Var3)(this_01);\n  }" if (parenthesized_expression "(p_Var3 == gold::Relobj::local_symbol_count)" ( (ERROR "p_Var3 == gold::Relobj::" (binary_expression "p_Var3 == gold" identifier == identifier) : : identifier : :) identifier )) (compound_statement "{\n    local_ec = (*pp_Var2[0x2f])();\n  }" { (expression_statement "local_ec = (*pp_Var2[0x2f])();" (assignment_expression "local_ec = (*pp_Var2[0x2f])()" identifier = (call_expression "(*pp_Var2[0x2f])()" (parenthesized_expression "(*pp_Var2[0x2f])" ( (pointer_expression "*pp_Var2[0x2f]" * (subscript_expression "pp_Var2[0x2f]" identifier [ number_literal ])) )) (argument_list "()" ( )))) ;) }) (else_clause "else {\n    local_ec = (*p_Var3)(this_01);\n  }" else (compound_statement "{\n    local_ec = (*p_Var3)(this_01);\n  }" { (expression_statement "local_ec = (*p_Var3)(this_01);" (assignment_expression "local_ec = (*p_Var3)(this_01)" identifier = (call_expression "(*p_Var3)(this_01)" (parenthesized_expression "(*p_Var3)" ( (pointer_expression "*p_Var3" * identifier) )) (argument_list "(this_01)" ( identifier )))) ;) }))) (expression_statement "iVar13 = 0;" (assignment_expression "iVar13 = 0" identifier = number_literal) ;) (expression_statement "local_148 = (General_options *)0x0;" (assignment_expression "local_148 = (General_options *)0x0" identifier = (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_120 = (uint *)prelocs;" (assignment_expression "local_120 = (uint *)prelocs" identifier = (cast_expression "(uint *)prelocs" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (reloc_count != 0) {\n    do {\n      uVar37 = *local_120;\n      local_140 = (ulong)(uVar37 >> 0x18 | (uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8 |\n                         uVar37 << 0x18);\n      if ((!needs_special_offset_handling) ||\n         (local_140 = gold::Output_section::output_offset\n                                (output_section,(Relobj *)relinfo->object,relinfo->data_shndx,\n                                 local_140), local_140 != 0xffffffffffffffff)) {\n        symval._8_4_ = 0x80000000;\n        symval.u_.value = 0;\n        uVar37 = local_120[1];\n        symval.output_symtab_index_ = 0;\n        symval.output_dynsym_index_ = 0xffffffff;\n        uVar37 = ((uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8 | uVar37 << 0x18) >> 8;\n        if (uVar37 < local_ec) {\n          if ((reloc_symbol_changes != (Reloc_symbol_changes *)0x0) &&\n             (pGVar21 = (General_options *)\n                        (reloc_symbol_changes->vec_).\n                        super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                        _M_start[(long)local_148], pGVar21 != (General_options *)0x0)) {\nLAB_0030fa33:\n            uVar16 = *(uint *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                      longname.field_2 + 4);\n            uVar30 = uVar16 - 1;\n            if (0xfffffffd < uVar30) goto LAB_0030fa42;\nLAB_0030fcf0:\n            if (uVar30 == 0xfffffffd) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/object.h",0x70d,"set_output_symtab_index");\n            }\n            symval.output_symtab_index_ = uVar16;\n            goto LAB_0030fa4a;\n          }\n          pSVar4 = (this_01->local_values_).\n                   super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                   ._M_impl._M_start;\n          if ((ulong)(((long)(this_01->local_values_).\n                             super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                             ._M_impl._M_finish - (long)pSVar4 >> 3) * -0x5555555555555555) <=\n              (ulong)uVar37) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/object.h",0x8c1,"local_symbol");\n          }\n          pSVar38 = pSVar4 + uVar37;\n          uVar16 = *(uint *)&pSVar38->field_0x8 & 0x7ffffff;\n          uVar30 = *(uint *)&pSVar38->field_0x8 & 0x7ffffff;\n          if (((pSVar38->field_0xb & 8) == 0) || (uVar16 == 0)) {\nLAB_0030fbb3:\n            pGVar21 = (General_options *)0x0;\n            goto LAB_0030faa5;\n          }\n          ppOVar6 = (this_01->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n          if ((ulong)((long)(this_01->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (long)ppOVar6 >> 3) <= (ulong)uVar16) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310860 to 00310864 has its CatchHandler @ 0031092a */\n            gold::do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (ppOVar6[uVar16] != (Output_section *)0x0) goto LAB_0030fbb3;\n          bVar14 = gold::Symbol_table::is_section_folded(relinfo->symtab,(Relobj *)this_01,uVar30);\n          pGVar21 = (General_options *)0x0;\n          if (bVar14) {\n            pGVar21 = (General_options *)0x0;\n            goto LAB_0030faa5;\n          }\nLAB_0030fd25:\n          symval2._8_4_ = 0x80000000;\n          symval2.output_symtab_index_ = 0;\n          symval2.output_dynsym_index_ = 0xffffffff;\n          symval2.u_.value = 0;\n          p_Var3 = (this_01->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object\n                   [0x10];\n          if (p_Var3 == gold::Sized_relobj_file<32,_true>::do_section_name) {\n                    /* try { // try from 0030fd86 to 0030fd8a has its CatchHandler @ 00310922 */\n            elfcpp::Elf_file<32,_true,_gold::Object>::section_name\n                      (&reloc_name,&this_01->elf_file_,relinfo->data_shndx);\n          }\n          else {\n                    /* try { // try from 00310038 to 00310039 has its CatchHandler @ 00310922 */\n            (*p_Var3)(&reloc_name,this_01);\n          }\n          bVar14 = false;\n          bVar40 = iVar13 == 0;\n          if (bVar40) {\n            lVar24 = 6;\n            _Var31._M_p = reloc_name._M_dataplus._M_p;\n            pbVar36 = &DAT_00533552;\n            do {\n              if (lVar24 == 0) break;\n              lVar24 = lVar24 + -1;\n              bVar14 = (byte)*_Var31._M_p < *pbVar36;\n              bVar40 = *_Var31._M_p == *pbVar36;\n              _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n              pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n            } while (bVar40);\n            bVar39 = false;\n            bVar14 = (!bVar14 && !bVar40) == bVar14;\n            if (!bVar14) {\n              lVar24 = 7;\n              _Var31._M_p = reloc_name._M_dataplus._M_p;\n              pbVar36 = (byte *)".zdebug";\n              do {\n                if (lVar24 == 0) break;\n                lVar24 = lVar24 + -1;\n                bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                bVar14 = *_Var31._M_p == *pbVar36;\n                _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n              } while (bVar14);\n              bVar40 = false;\n              bVar14 = (!bVar39 && !bVar14) == bVar39;\n              if (!bVar14) {\n                lVar24 = 0x11;\n                _Var31._M_p = reloc_name._M_dataplus._M_p;\n                pbVar36 = (byte *)".gnu.linkonce.wi.";\n                do {\n                  if (lVar24 == 0) break;\n                  lVar24 = lVar24 + -1;\n                  bVar40 = (byte)*_Var31._M_p < *pbVar36;\n                  bVar14 = *_Var31._M_p == *pbVar36;\n                  _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                  pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                } while (bVar14);\n                bVar39 = false;\n                bVar14 = (!bVar40 && !bVar14) == bVar40;\n                if (!bVar14) {\n                  lVar24 = 5;\n                  _Var31._M_p = reloc_name._M_dataplus._M_p;\n                  pbVar36 = (byte *)".line";\n                  do {\n                    if (lVar24 == 0) break;\n                    lVar24 = lVar24 + -1;\n                    bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                    bVar14 = *_Var31._M_p == *pbVar36;\n                    _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                    pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                  } while (bVar14);\n                  bVar40 = false;\n                  bVar14 = (!bVar39 && !bVar14) == bVar39;\n                  if (!bVar14) {\n                    lVar24 = 5;\n                    _Var31._M_p = reloc_name._M_dataplus._M_p;\n                    pbVar36 = (byte *)".stab";\n                    do {\n                      if (lVar24 == 0) break;\n                      lVar24 = lVar24 + -1;\n                      bVar40 = (byte)*_Var31._M_p < *pbVar36;\n                      bVar14 = *_Var31._M_p == *pbVar36;\n                      _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                      pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                    } while (bVar14);\n                    bVar39 = false;\n                    bVar14 = (!bVar40 && !bVar14) == bVar40;\n                    if (!bVar14) {\n                      lVar24 = 4;\n                      _Var31._M_p = reloc_name._M_dataplus._M_p;\n                      pbVar36 = &DAT_0053357f;\n                      do {\n                        if (lVar24 == 0) break;\n                        lVar24 = lVar24 + -1;\n                        bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                        bVar14 = *_Var31._M_p == *pbVar36;\n                        _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                        pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                      } while (bVar14);\n                      bVar40 = false;\n                      bVar14 = (!bVar39 && !bVar14) == bVar39;\n                      if (!bVar14) {\n                        lVar24 = 10;\n                        _Var31._M_p = reloc_name._M_dataplus._M_p;\n                        pbVar36 = (byte *)".eh_frame";\n                        do {\n                          if (lVar24 == 0) break;\n                          lVar24 = lVar24 + -1;\n                          bVar40 = (byte)*_Var31._M_p < *pbVar36;\n                          bVar14 = *_Var31._M_p == *pbVar36;\n                          _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                          pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                        } while (bVar14);\n                        bVar39 = false;\n                        bVar14 = (!bVar40 && !bVar14) == bVar40;\n                        if (!bVar14) {\n                          lVar24 = 0x12;\n                          _Var31._M_p = reloc_name._M_dataplus._M_p;\n                          pbVar36 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar24 == 0) break;\n                            lVar24 = lVar24 + -1;\n                            bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                            bVar14 = *_Var31._M_p == *pbVar36;\n                            _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                            pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                          } while (bVar14);\n                          if ((!bVar39 && !bVar14) != bVar39) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0030fdc0:\n                    /* try { // try from 0030fdd2 to 0030fdd6 has its CatchHandler @ 00310912 */\n            AVar17 = gold::Sized_relobj_file<32,_true>::map_to_kept_section\n                               (this_01,uVar30,&reloc_name,&found);\n            symval2.u_.value = 0;\n            if (found != false) {\n              symval2.u_.value = AVar17 + (pSVar38->u_).value;\n            }\n            iVar13 = 1;\n          }\n          else {\n            if (iVar13 == 1) goto LAB_0030fdc0;\n            if (iVar13 == 3) {\nLAB_0030ff50:\n              pSVar7 = relinfo->object;\n              if (pGVar21 == (General_options *)0x0) {\n                    /* try { // try from 003105ee to 0031061d has its CatchHandler @ 00310912 */\n                pcVar20 = gold::Sized_relobj_file<32,_true>::get_symbol_name(pSVar7,uVar37);\n                pcVar27 = (char *)gettext(\n                                         "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                         );\n                gold::gold_error_at_location<32,_true>\n                          (relinfo,(size_t)local_148,local_140,pcVar27,pcVar20,(ulong)uVar37);\n              }\n              else {\n                    /* try { // try from 0030ff70 to 0030ff74 has its CatchHandler @ 00310912 */\n                gold::Symbol::demangled_name((string *)&found,(Symbol *)pGVar21);\n                uVar23 = CONCAT71(uStack_77,found);\n                pcVar20 = (char *)gettext(\n                                         "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                         );\n                    /* try { // try from 0030ffa4 to 0030ffa8 has its CatchHandler @ 0031093c */\n                gold::gold_error_at_location<32,_true>\n                          (relinfo,(size_t)local_148,local_140,pcVar20,uVar23);\n                if ((undefined1 *)CONCAT71(uStack_77,found) != auStack_68) {\n                  operator_delete((undefined1 *)CONCAT71(uStack_77,found));\n                }\n              }\n                    /* try { // try from 0030ffd1 to 0030ffd5 has its CatchHandler @ 00310912 */\n              uVar37 = gold::Sized_relobj_file<32,_true>::symbol_section_and_value\n                                 (pSVar7,uVar37,&value,&is_ordinary);\n              if (uVar37 != 0) {\n                    /* try { // try from 00310544 to 0031057d has its CatchHandler @ 00310912 */\n                pRVar25 = gold::Sized_relobj_file<32,_true>::find_kept_section_object\n                                    (pSVar7,uVar37,&key_symndx);\n                if (key_symndx != 0) {\n                    /* try { // try from 00310725 to 00310745 has its CatchHandler @ 00310912 */\n                  pcVar20 = gold::Sized_relobj_file<32,_true>::get_symbol_name(pSVar7,key_symndx);\n                  pcVar27 = (char *)gettext("  section group signature: \"%s\"");\n                  gold::gold_info(pcVar27,pcVar20);\n                }\n                if (pRVar25 != (Relobj *)0x0) {\n                  pcVar11 = (pRVar25->super_Object).name_._M_dataplus._M_p;\n                  pcVar20 = (char *)gettext("  prevailing definition is from %s");\n                  gold::gold_info(pcVar20,pcVar11);\n                }\n              }\n              iVar13 = 3;\n            }\n            else {\nLAB_00310006:\n              iVar13 = 2;\n            }\n            symval2.u_.value = 0;\n          }\n          if (symval2.output_symtab_index_ != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310794 to 00310798 has its CatchHandler @ 00310912 */\n            gold::do_gold_unreachable("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\n          symval2.output_symtab_index_ = 0xffffffff;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)reloc_name._M_dataplus._M_p != &reloc_name.field_2) {\n            operator_delete(reloc_name._M_dataplus._M_p);\n          }\n          pSVar38 = &symval2;\n          if (-1 < (long)local_140) goto LAB_0030fae5;\nLAB_0030fe48:\n          pcVar20 = (char *)gettext("reloc has bad offset %zu");\n          pGVar21 = local_148;\n                    /* try { // try from 0030fe68 to 0030fe6c has its CatchHandler @ 00310922 */\n          gold::gold_error_at_location<32,_true>\n                    (relinfo,(size_t)local_148,local_140,pcVar20,local_140);\n          iVar19 = (int)pGVar21;\n        }\n        else {\n          if ((reloc_symbol_changes != (Reloc_symbol_changes *)0x0) &&\n             (pGVar21 = (General_options *)\n                        (reloc_symbol_changes->vec_).\n                        super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                        _M_start[(long)local_148], pGVar21 != (General_options *)0x0))\n          goto LAB_0030fa33;\n          if (uVar37 < this_01->local_symbol_count_) {\nLAB_003107a0:\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003107b3 to 003107ff has its CatchHandler @ 0031092a */\n            gold::do_gold_unreachable("../../gold/target-reloc.h",0x17f,"relocate_section");\n          }\n          ppSVar5 = (this_01->symbols_).\n                    super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                    _M_start;\n          uVar28 = (ulong)(uVar37 - this_01->local_symbol_count_);\n          if ((ulong)((long)(this_01->symbols_).\n                            super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n                            _M_impl._M_finish - (long)ppSVar5 >> 3) <= uVar28) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/object.h",0x8ad,"global_symbol");\n          }\n          pGVar21 = (General_options *)ppSVar5[uVar28];\n          if (pGVar21 == (General_options *)0x0) goto LAB_003107a0;\n          if (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring & 0x100000\n              ) == 0) goto LAB_0030fa33;\n                    /* try { // try from 0030fc40 to 0030fcb4 has its CatchHandler @ 0031092a */\n          pGVar21 = (General_options *)\n                    gold::Symbol_table::resolve_forwards(relinfo->symtab,(Symbol *)pGVar21);\n          uVar16 = *(uint *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                    longname.field_2 + 4);\n          uVar30 = uVar16 - 1;\n          if (uVar30 < 0xfffffffe) {\n            if ((symval.output_symtab_index_ != 0) && (symval.output_symtab_index_ != 0xfffffffe)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0031077c to 00310780 has its CatchHandler @ 0031092a */\n              gold::do_gold_unreachable("../../gold/object.h",0x70c,"set_output_symtab_index");\n            }\n            goto LAB_0030fcf0;\n          }\n          if (symval.output_symtab_index_ != 0) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\nLAB_0030fa42:\n          symval.output_symtab_index_ = 0xffffffff;\nLAB_0030fa4a:\n          symval.u_.value =\n               *(Value *)&(pGVar21->help_initializer_).super_Struct_special.option.helparg;\n          bVar29 = *(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                   0xf;\n          if (bVar29 == 6) {\n            symval._8_4_ = symval._8_4_ | 0x20000000;\n          }\n          else if (bVar29 == 10) {\n            symval._8_4_ = symval._8_4_ | 0x40000000;\n          }\n          bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                    helpstring + 3);\n          if ((char)bVar29 < '\0') {\n            pcVar20 = (pGVar21->help_initializer_).super_Struct_special.option.helpstring;\n            if (((ulong)pcVar20 & 0x70000) == 0) {\n              if ((*(uint *)&(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                             field_2 == 0) && ((bVar29 & 0x20) != 0)) {\nLAB_0030fd10:\n                pSVar38 = &symval;\n                uVar30 = 0;\n                goto LAB_0030fd25;\n              }\n            }\n            else if (((ulong)pcVar20 & 0x70000) == 0x40000) goto LAB_0030fd10;\n          }\n          pSVar38 = &symval;\nLAB_0030faa5:\n          symval2._8_4_ = 0x80000000;\n          symval2.output_symtab_index_ = 0;\n          symval2.output_dynsym_index_ = 0xffffffff;\n          symval2.u_.value = 0;\n          if ((long)local_140 < 0) goto LAB_0030fe48;\nLAB_0030fae5:\n          if ((view_size <= local_140) || (view + local_140 == (uchar *)0x0)) goto LAB_0030fe48;\n          uVar37 = local_120[1];\n          if (uVar37 >> 0x18 != 0) {\n            pcVar20 = (char *)gettext("Invalid/unrecognized reloc reloc %d.");\n                    /* try { // try from 0030fb3d to 0030fb59 has its CatchHandler @ 00310922 */\n            gold::gold_error(pcVar20,(ulong)(uVar37 >> 0x18));\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable\n                      ("../../gold/aarch64-reloc-property.h",0xeb,"code_to_array_index");\n          }\n          if (aarch64_reloc_property_table->table_[0] == (AArch64_reloc_property *)0x0) {\n                    /* try { // try from 003104dd to 003104e1 has its CatchHandler @ 00310922 */\n            gold::AArch64_reloc_property_table::reloc_name_in_error_message\n                      (&reloc_name,aarch64_reloc_property_table,0);\n            _Var31 = reloc_name._M_dataplus;\n            pcVar20 = (char *)gettext("cannot relocate %s in object file");\n            uVar37 = *local_120;\n            pGVar32 = local_148;\n                    /* try { // try from 00310510 to 00310514 has its CatchHandler @ 0031091a */\n            gold::gold_error_at_location<32,_true>\n                      (relinfo,(size_t)local_148,\n                       (ulong)(uVar37 >> 0x18 | (uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8 |\n                              uVar37 << 0x18),pcVar20,_Var31._M_p);\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)reloc_name._M_dataplus._M_p != &reloc_name.field_2) {\n              operator_delete(reloc_name._M_dataplus._M_p);\n            }\n          }\n          else {\n            pGVar32 = (General_options *)0x0;\n            pSVar7 = relinfo->object;\n            symval_1._8_4_ = 0x80000000;\n            symval_1.output_symtab_index_ = 0;\n            symval_1.output_dynsym_index_ = 0xffffffff;\n            symval_1.u_.value = 0;\n            if (pGVar21 == (General_options *)0x0) {\n              if ((pSVar38->field_0xb & 0x40) != 0) {\n                uVar37 = ((uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8 | uVar37 << 0x18) >> 8;\n                pGVar32 = (General_options *)(ulong)uVar37;\n                this_00 = pSVar7;\n                    /* try { // try from 00310475 to 003104bc has its CatchHandler @ 00310944 */\n                bVar14 = gold::Sized_relobj_file<32,_true>::local_has_plt_offset(pSVar7,uVar37);\n                if (bVar14) {\n                  pOVar10 = this->plt_;\n                  if (pOVar10 == (Output_data_plt_aarch64<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108c5 to 003108c9 has its CatchHandler @ 00310944 */\n                    plt_section((Target_aarch64<32,_true> *)this_00);\n                  }\n                  if (((pOVar10->super_Output_section_data).super_Output_data.field_0x20 & 1) == 0)\n                  {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108a8 to 003108ac has its CatchHandler @ 00310944 */\n                    gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar22 = (pOVar10->super_Output_section_data).super_Output_data.address_;\n                  uVar30 = pOVar10->count_;\n                  pGVar32 = (General_options *)(ulong)uVar37;\n                  iVar19 = (*(pSVar7->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                             _vptr_Object[0x2a])(pSVar7);\n                  symval_1.u_.value = (int)uVar22 + 0x20 + uVar30 * 0x10 + iVar19;\n                }\n              }\n            }\n            else {\n              uVar37 = aarch64_reloc_property_table->table_[0]->reference_flags_;\n              pGVar32 = (General_options *)(ulong)uVar37;\n                    /* try { // try from 003100df to 00310101 has its CatchHandler @ 00310944 */\n              bVar14 = gold::Symbol::use_plt_offset((Symbol *)pGVar21,uVar37);\n              if (bVar14) {\n                if (this->plt_ == (Output_data_plt_aarch64<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310800 to 00310804 has its CatchHandler @ 00310944 */\n                  plt_section((Target_aarch64<32,_true> *)0x0);\n                }\n                pGVar32 = pGVar21;\n                uVar22 = Output_data_plt_aarch64<32,_true>::address_for_global\n                                   (this->plt_,(Symbol *)pGVar21);\n                symval_1.u_.value = (Value)uVar22;\n              }\n            }\n            gold::Symbol_value<32>::~Symbol_value(&symval_1,(int)pGVar32);\n          }\n          iVar19 = (int)pGVar32;\n          if (pGVar21 != (General_options *)0x0) {\n            bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                      helpstring + 2);\n            bVar15 = bVar29 & 7;\n            if ((bVar29 & 7) == 0) {\n              if ((*(int *)&(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                            field_2 != 0) ||\n                 (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                  0x20000000) == 0)) {\n                pcVar8 = *(code **)(*(long *)(pGVar21->help_initializer_).super_Struct_special.\n                                             option.longname._M_string_length + 0x28);\n                if (pcVar8 != gold::Object::do_pluginobj) {\n                  lVar24 = (*pcVar8)();\n                  iVar19 = (int)pGVar32;\n                  if (lVar24 != 0) {\n                    bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 2);\n                    bVar15 = bVar29 & 7;\n                    if ((bVar29 & 7) == 0) {\n                      uVar37 = *(uint *)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                         longname.field_2;\n                      pGVar32 = (General_options *)(ulong)uVar37;\n                      bVar1 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                               option.helpstring + 3);\n                      if ((uVar37 == 0) && ((bVar1 & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)bVar1 < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar15 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 3)) goto LAB_00310305;\n                    bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 1);\n                    if ((bVar15 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }\nLAB_0031015a:\n                bVar1 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                         helpstring + 1);\n                bVar29 = bVar29 & 7;\n                bVar15 = bVar1 & 3;\n                if ((bVar1 & 3) == 0) goto LAB_003101c0;\nLAB_00310166:\n                if (((*(int *)&(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                               field_2 == 0) &&\n                    (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                     0x20000000) != 0)) &&\n                   ((*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring\n                     >> 4 != 2 &&\n                    (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                     0x200000000) == 0)))) {\nLAB_00310293:\n                  if (gold::parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108dd to 003108e1 has its CatchHandler @ 00310922 */\n                    gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if ((gold::parameters->options_->weak_unresolved_symbols_).value != false) {\n                    if (bVar29 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)((pGVar21->help_initializer_).super_Struct_special.option.longname.\n                                 _M_string_length + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }\n                if (bVar15 == 2) {\n                  uVar23 = gettext("hidden");\n                }\n                else if (bVar15 < 3) {\n                  if (bVar15 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    gold::do_gold_unreachable("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar23 = gettext("internal");\n                }\n                else {\n                  uVar23 = gettext("protected");\n                }\n                pp_Var2 = (pGVar21->help_initializer_).super_Struct_special.super_Struct_var.\n                          _vptr_Struct_var;\n                pcVar20 = (char *)gettext("%s symbol \'%s\' is not defined locally");\n                    /* try { // try from 003101b4 to 0031042c has its CatchHandler @ 00310922 */\n                gold::gold_error(pcVar20,uVar23,pp_Var2);\n                iVar19 = (int)uVar23;\n                goto LAB_003101c0;\n              }\nLAB_0031020c:\n              if ((*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring >>\n                   4 == 2) ||\n                 (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                  0x200000000) != 0)) {\nLAB_00310438:\n                iVar19 = (int)pGVar32;\n                bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 1) & 3;\nLAB_0031043f:\n                if (bVar15 == 0) goto LAB_003101c0;\n                bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 2) & 7;\n                if (bVar29 != 0) goto LAB_00310270;\n                goto LAB_00310166;\n              }\n              pGVar32 = gold::parameters->options_;\n              if (pGVar32 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310878 to 0031087c has its CatchHandler @ 00310922 */\n                gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((pGVar32->weak_unresolved_symbols_).value != false) goto LAB_00310438;\n              if (*(char *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                   helpstring + 3) < '\0') {\n                if (bVar15 != 0) goto LAB_00310260;\nLAB_003105b8:\n                iVar19 = (int)pGVar32;\n                pcVar8 = *(code **)(*(long *)(pGVar21->help_initializer_).super_Struct_special.\n                                             option.longname._M_string_length + 0x28);\n                if (pcVar8 == gold::Object::do_pluginobj) goto LAB_0031015a;\n                    /* try { // try from 003105cc to 003105cd has its CatchHandler @ 00310922 */\n                lVar24 = (*pcVar8)();\n                if (lVar24 == 0) goto LAB_00310438;\n              }\nLAB_00310305:\n              iVar19 = (int)pGVar32;\n              if (gold::parameters->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310818 to 0031084c has its CatchHandler @ 00310922 */\n                gold::do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n              }\n              p_Var3 = gold::parameters->target_->_vptr_Target[7];\n              if (p_Var3 != gold::Target::do_is_defined_by_abi) {\n                pGVar32 = pGVar21;\n                iVar18 = (*p_Var3)();\n                iVar19 = (int)pGVar32;\n                if ((char)iVar18 != '\0') goto LAB_00310438;\n              }\n              pGVar9 = gold::parameters->options_;\n              if (pGVar9 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              pGVar34 = (General_options *)(pGVar9->unresolved_symbols_).value;\n              bVar14 = false;\n              bVar40 = pGVar34 == (General_options *)0x0;\n              if (bVar40) {\n                bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 1) & 3;\nLAB_003103c9:\n                if ((bVar15 == 2) ||\n                   (((pGVar9->shared_).value == false || ((pGVar9->defs_).value != false))))\n                goto LAB_003103e1;\n                goto LAB_0031043f;\n              }\n              lVar24 = 0xb;\n              pGVar33 = pGVar34;\n              pbVar36 = (byte *)"ignore-all";\n              do {\n                pGVar32 = pGVar33;\n                if (lVar24 == 0) break;\n                lVar24 = lVar24 + -1;\n                pGVar32 = (General_options *)((long)pGVar33 + (ulong)bVar41 * -2 + 1);\n                bVar29 = *(byte *)&(pGVar33->help_initializer_).super_Struct_special.\n                                   super_Struct_var._vptr_Struct_var;\n                bVar14 = bVar29 < *pbVar36;\n                bVar40 = bVar29 == *pbVar36;\n                pGVar33 = pGVar32;\n                pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n              } while (bVar40);\n              bVar39 = false;\n              bVar14 = (!bVar14 && !bVar40) == bVar14;\n              if (bVar14) goto LAB_00310438;\n              lVar24 = 0xb;\n              pGVar32 = pGVar34;\n              pbVar36 = (byte *)"report-all";\n              do {\n                if (lVar24 == 0) break;\n                lVar24 = lVar24 + -1;\n                bVar29 = *(byte *)&(pGVar32->help_initializer_).super_Struct_special.\n                                   super_Struct_var._vptr_Struct_var;\n                bVar39 = bVar29 < *pbVar36;\n                bVar14 = bVar29 == *pbVar36;\n                pGVar32 = (General_options *)((long)pGVar32 + (ulong)bVar41 * -2 + 1);\n                pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n              } while (bVar14);\n              bVar40 = false;\n              bVar14 = (!bVar39 && !bVar14) == bVar39;\n              if (!bVar14) {\n                lVar24 = 0x17;\n                pGVar32 = pGVar34;\n                pbVar36 = (byte *)"ignore-in-object-files";\n                do {\n                  pGVar33 = pGVar32;\n                  if (lVar24 == 0) break;\n                  lVar24 = lVar24 + -1;\n                  pGVar33 = (General_options *)((long)pGVar32 + (ulong)bVar41 * -2 + 1);\n                  bVar29 = *(byte *)&(pGVar32->help_initializer_).super_Struct_special.\n                                     super_Struct_var._vptr_Struct_var;\n                  bVar40 = bVar29 < *pbVar36;\n                  bVar14 = bVar29 == *pbVar36;\n                  pGVar32 = pGVar33;\n                  pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                } while (bVar14);\n                iVar19 = (int)pGVar33;\n                bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 1) & 3;\n                bVar14 = (!bVar40 && !bVar14) == bVar40;\n                if ((!bVar14) ||\n                   (bVar14 = ((ulong)(pGVar21->help_initializer_).super_Struct_special.option.\n                                     helpstring & 0x1000000) == 0, !bVar14)) {\n                  bVar40 = false;\n                  lVar24 = 0x16;\n                  pbVar36 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    pGVar32 = pGVar34;\n                    if (lVar24 == 0) break;\n                    lVar24 = lVar24 + -1;\n                    pGVar32 = (General_options *)((long)pGVar34 + (ulong)bVar41 * -2 + 1);\n                    bVar29 = *(byte *)&(pGVar34->help_initializer_).super_Struct_special.\n                                       super_Struct_var._vptr_Struct_var;\n                    bVar40 = bVar29 < *pbVar36;\n                    bVar14 = bVar29 == *pbVar36;\n                    pGVar34 = pGVar32;\n                    pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                  } while (bVar14);\n                  iVar19 = (int)pGVar32;\n                  if (((!bVar40 && !bVar14) != bVar40) ||\n                     (*(char *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                       helpstring + 2) < '\0')) goto LAB_003103c9;\n                }\n                goto LAB_0031043f;\n              }\nLAB_003103e1:\n              pRVar35 = relinfo;\n              gold::gold_undefined_symbol_at_location<32,_true>\n                        ((Symbol *)pGVar21,relinfo,(size_t)local_148,local_140);\n              iVar19 = (int)pRVar35;\n              bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                        helpstring + 3);\n            }\n            else {\n              if (bVar15 == 4) goto LAB_0031020c;\nLAB_00310260:\n              iVar19 = (int)pGVar32;\n              bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                        helpstring + 1);\n              if ((bVar15 & 3) != 0) {\nLAB_0031026d:\n                bVar15 = bVar15 & 3;\n                bVar29 = bVar29 & 7;\nLAB_00310270:\n                if (((bVar29 == 4) &&\n                    (*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring\n                     >> 4 != 2)) &&\n                   (bVar29 = 4,\n                   ((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                   0x200000000) == 0)) goto LAB_00310293;\n              }\nLAB_003101c0:\n              bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                        helpstring + 3);\n            }\n            if ((bVar29 & 4) != 0) {\n              gold::Warnings::issue_warning<32,_true>\n                        (&relinfo->symtab->warnings_,(Symbol *)pGVar21,relinfo,(size_t)local_148,\n                         local_140);\n              iVar19 = (int)pGVar21;\n            }\n          }\n        }\n        local_138 = &symval;\n        gold::Symbol_value<32>::~Symbol_value(&symval2,iVar19);\n        gold::Symbol_value<32>::~Symbol_value(local_138,iVar19);\n      }\n      local_148 = (General_options *)\n                  ((long)&(local_148->help_initializer_).super_Struct_special.super_Struct_var.\n                          _vptr_Struct_var + 1);\n      local_120 = local_120 + 3;\n    } while ((General_options *)reloc_count != local_148);\n  }" if (parenthesized_expression "(reloc_count != 0)" ( (binary_expression "reloc_count != 0" identifier != number_literal) )) (compound_statement "{\n    do {\n      uVar37 = *local_120;\n      local_140 = (ulong)(uVar37 >> 0x18 | (uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8 |\n                         uVar37 << 0x18);\n      if ((!needs_special_offset_handling) ||\n         (local_140 = gold::Output_section::output_offset\n                                (output_section,(Relobj *)relinfo->object,relinfo->data_shndx,\n                                 local_140), local_140 != 0xffffffffffffffff)) {\n        symval._8_4_ = 0x80000000;\n        symval.u_.value = 0;\n        uVar37 = local_120[1];\n        symval.output_symtab_index_ = 0;\n        symval.output_dynsym_index_ = 0xffffffff;\n        uVar37 = ((uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8 | uVar37 << 0x18) >> 8;\n        if (uVar37 < local_ec) {\n          if ((reloc_symbol_changes != (Reloc_symbol_changes *)0x0) &&\n             (pGVar21 = (General_options *)\n                        (reloc_symbol_changes->vec_).\n                        super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                        _M_start[(long)local_148], pGVar21 != (General_options *)0x0)) {\nLAB_0030fa33:\n            uVar16 = *(uint *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                      longname.field_2 + 4);\n            uVar30 = uVar16 - 1;\n            if (0xfffffffd < uVar30) goto LAB_0030fa42;\nLAB_0030fcf0:\n            if (uVar30 == 0xfffffffd) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/object.h",0x70d,"set_output_symtab_index");\n            }\n            symval.output_symtab_index_ = uVar16;\n            goto LAB_0030fa4a;\n          }\n          pSVar4 = (this_01->local_values_).\n                   super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                   ._M_impl._M_start;\n          if ((ulong)(((long)(this_01->local_values_).\n                             super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                             ._M_impl._M_finish - (long)pSVar4 >> 3) * -0x5555555555555555) <=\n              (ulong)uVar37) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/object.h",0x8c1,"local_symbol");\n          }\n          pSVar38 = pSVar4 + uVar37;\n          uVar16 = *(uint *)&pSVar38->field_0x8 & 0x7ffffff;\n          uVar30 = *(uint *)&pSVar38->field_0x8 & 0x7ffffff;\n          if (((pSVar38->field_0xb & 8) == 0) || (uVar16 == 0)) {\nLAB_0030fbb3:\n            pGVar21 = (General_options *)0x0;\n            goto LAB_0030faa5;\n          }\n          ppOVar6 = (this_01->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n          if ((ulong)((long)(this_01->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (long)ppOVar6 >> 3) <= (ulong)uVar16) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310860 to 00310864 has its CatchHandler @ 0031092a */\n            gold::do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (ppOVar6[uVar16] != (Output_section *)0x0) goto LAB_0030fbb3;\n          bVar14 = gold::Symbol_table::is_section_folded(relinfo->symtab,(Relobj *)this_01,uVar30);\n          pGVar21 = (General_options *)0x0;\n          if (bVar14) {\n            pGVar21 = (General_options *)0x0;\n            goto LAB_0030faa5;\n          }\nLAB_0030fd25:\n          symval2._8_4_ = 0x80000000;\n          symval2.output_symtab_index_ = 0;\n          symval2.output_dynsym_index_ = 0xffffffff;\n          symval2.u_.value = 0;\n          p_Var3 = (this_01->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object\n                   [0x10];\n          if (p_Var3 == gold::Sized_relobj_file<32,_true>::do_section_name) {\n                    /* try { // try from 0030fd86 to 0030fd8a has its CatchHandler @ 00310922 */\n            elfcpp::Elf_file<32,_true,_gold::Object>::section_name\n                      (&reloc_name,&this_01->elf_file_,relinfo->data_shndx);\n          }\n          else {\n                    /* try { // try from 00310038 to 00310039 has its CatchHandler @ 00310922 */\n            (*p_Var3)(&reloc_name,this_01);\n          }\n          bVar14 = false;\n          bVar40 = iVar13 == 0;\n          if (bVar40) {\n            lVar24 = 6;\n            _Var31._M_p = reloc_name._M_dataplus._M_p;\n            pbVar36 = &DAT_00533552;\n            do {\n              if (lVar24 == 0) break;\n              lVar24 = lVar24 + -1;\n              bVar14 = (byte)*_Var31._M_p < *pbVar36;\n              bVar40 = *_Var31._M_p == *pbVar36;\n              _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n              pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n            } while (bVar40);\n            bVar39 = false;\n            bVar14 = (!bVar14 && !bVar40) == bVar14;\n            if (!bVar14) {\n              lVar24 = 7;\n              _Var31._M_p = reloc_name._M_dataplus._M_p;\n              pbVar36 = (byte *)".zdebug";\n              do {\n                if (lVar24 == 0) break;\n                lVar24 = lVar24 + -1;\n                bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                bVar14 = *_Var31._M_p == *pbVar36;\n                _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n              } while (bVar14);\n              bVar40 = false;\n              bVar14 = (!bVar39 && !bVar14) == bVar39;\n              if (!bVar14) {\n                lVar24 = 0x11;\n                _Var31._M_p = reloc_name._M_dataplus._M_p;\n                pbVar36 = (byte *)".gnu.linkonce.wi.";\n                do {\n                  if (lVar24 == 0) break;\n                  lVar24 = lVar24 + -1;\n                  bVar40 = (byte)*_Var31._M_p < *pbVar36;\n                  bVar14 = *_Var31._M_p == *pbVar36;\n                  _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                  pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                } while (bVar14);\n                bVar39 = false;\n                bVar14 = (!bVar40 && !bVar14) == bVar40;\n                if (!bVar14) {\n                  lVar24 = 5;\n                  _Var31._M_p = reloc_name._M_dataplus._M_p;\n                  pbVar36 = (byte *)".line";\n                  do {\n                    if (lVar24 == 0) break;\n                    lVar24 = lVar24 + -1;\n                    bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                    bVar14 = *_Var31._M_p == *pbVar36;\n                    _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                    pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                  } while (bVar14);\n                  bVar40 = false;\n                  bVar14 = (!bVar39 && !bVar14) == bVar39;\n                  if (!bVar14) {\n                    lVar24 = 5;\n                    _Var31._M_p = reloc_name._M_dataplus._M_p;\n                    pbVar36 = (byte *)".stab";\n                    do {\n                      if (lVar24 == 0) break;\n                      lVar24 = lVar24 + -1;\n                      bVar40 = (byte)*_Var31._M_p < *pbVar36;\n                      bVar14 = *_Var31._M_p == *pbVar36;\n                      _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                      pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                    } while (bVar14);\n                    bVar39 = false;\n                    bVar14 = (!bVar40 && !bVar14) == bVar40;\n                    if (!bVar14) {\n                      lVar24 = 4;\n                      _Var31._M_p = reloc_name._M_dataplus._M_p;\n                      pbVar36 = &DAT_0053357f;\n                      do {\n                        if (lVar24 == 0) break;\n                        lVar24 = lVar24 + -1;\n                        bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                        bVar14 = *_Var31._M_p == *pbVar36;\n                        _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                        pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                      } while (bVar14);\n                      bVar40 = false;\n                      bVar14 = (!bVar39 && !bVar14) == bVar39;\n                      if (!bVar14) {\n                        lVar24 = 10;\n                        _Var31._M_p = reloc_name._M_dataplus._M_p;\n                        pbVar36 = (byte *)".eh_frame";\n                        do {\n                          if (lVar24 == 0) break;\n                          lVar24 = lVar24 + -1;\n                          bVar40 = (byte)*_Var31._M_p < *pbVar36;\n                          bVar14 = *_Var31._M_p == *pbVar36;\n                          _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                          pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                        } while (bVar14);\n                        bVar39 = false;\n                        bVar14 = (!bVar40 && !bVar14) == bVar40;\n                        if (!bVar14) {\n                          lVar24 = 0x12;\n                          _Var31._M_p = reloc_name._M_dataplus._M_p;\n                          pbVar36 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar24 == 0) break;\n                            lVar24 = lVar24 + -1;\n                            bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                            bVar14 = *_Var31._M_p == *pbVar36;\n                            _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                            pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                          } while (bVar14);\n                          if ((!bVar39 && !bVar14) != bVar39) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0030fdc0:\n                    /* try { // try from 0030fdd2 to 0030fdd6 has its CatchHandler @ 00310912 */\n            AVar17 = gold::Sized_relobj_file<32,_true>::map_to_kept_section\n                               (this_01,uVar30,&reloc_name,&found);\n            symval2.u_.value = 0;\n            if (found != false) {\n              symval2.u_.value = AVar17 + (pSVar38->u_).value;\n            }\n            iVar13 = 1;\n          }\n          else {\n            if (iVar13 == 1) goto LAB_0030fdc0;\n            if (iVar13 == 3) {\nLAB_0030ff50:\n              pSVar7 = relinfo->object;\n              if (pGVar21 == (General_options *)0x0) {\n                    /* try { // try from 003105ee to 0031061d has its CatchHandler @ 00310912 */\n                pcVar20 = gold::Sized_relobj_file<32,_true>::get_symbol_name(pSVar7,uVar37);\n                pcVar27 = (char *)gettext(\n                                         "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                         );\n                gold::gold_error_at_location<32,_true>\n                          (relinfo,(size_t)local_148,local_140,pcVar27,pcVar20,(ulong)uVar37);\n              }\n              else {\n                    /* try { // try from 0030ff70 to 0030ff74 has its CatchHandler @ 00310912 */\n                gold::Symbol::demangled_name((string *)&found,(Symbol *)pGVar21);\n                uVar23 = CONCAT71(uStack_77,found);\n                pcVar20 = (char *)gettext(\n                                         "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                         );\n                    /* try { // try from 0030ffa4 to 0030ffa8 has its CatchHandler @ 0031093c */\n                gold::gold_error_at_location<32,_true>\n                          (relinfo,(size_t)local_148,local_140,pcVar20,uVar23);\n                if ((undefined1 *)CONCAT71(uStack_77,found) != auStack_68) {\n                  operator_delete((undefined1 *)CONCAT71(uStack_77,found));\n                }\n              }\n                    /* try { // try from 0030ffd1 to 0030ffd5 has its CatchHandler @ 00310912 */\n              uVar37 = gold::Sized_relobj_file<32,_true>::symbol_section_and_value\n                                 (pSVar7,uVar37,&value,&is_ordinary);\n              if (uVar37 != 0) {\n                    /* try { // try from 00310544 to 0031057d has its CatchHandler @ 00310912 */\n                pRVar25 = gold::Sized_relobj_file<32,_true>::find_kept_section_object\n                                    (pSVar7,uVar37,&key_symndx);\n                if (key_symndx != 0) {\n                    /* try { // try from 00310725 to 00310745 has its CatchHandler @ 00310912 */\n                  pcVar20 = gold::Sized_relobj_file<32,_true>::get_symbol_name(pSVar7,key_symndx);\n                  pcVar27 = (char *)gettext("  section group signature: \"%s\"");\n                  gold::gold_info(pcVar27,pcVar20);\n                }\n                if (pRVar25 != (Relobj *)0x0) {\n                  pcVar11 = (pRVar25->super_Object).name_._M_dataplus._M_p;\n                  pcVar20 = (char *)gettext("  prevailing definition is from %s");\n                  gold::gold_info(pcVar20,pcVar11);\n                }\n              }\n              iVar13 = 3;\n            }\n            else {\nLAB_00310006:\n              iVar13 = 2;\n            }\n            symval2.u_.value = 0;\n          }\n          if (symval2.output_symtab_index_ != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310794 to 00310798 has its CatchHandler @ 00310912 */\n            gold::do_gold_unreachable("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\n          symval2.output_symtab_index_ = 0xffffffff;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)reloc_name._M_dataplus._M_p != &reloc_name.field_2) {\n            operator_delete(reloc_name._M_dataplus._M_p);\n          }\n          pSVar38 = &symval2;\n          if (-1 < (long)local_140) goto LAB_0030fae5;\nLAB_0030fe48:\n          pcVar20 = (char *)gettext("reloc has bad offset %zu");\n          pGVar21 = local_148;\n                    /* try { // try from 0030fe68 to 0030fe6c has its CatchHandler @ 00310922 */\n          gold::gold_error_at_location<32,_true>\n                    (relinfo,(size_t)local_148,local_140,pcVar20,local_140);\n          iVar19 = (int)pGVar21;\n        }\n        else {\n          if ((reloc_symbol_changes != (Reloc_symbol_changes *)0x0) &&\n             (pGVar21 = (General_options *)\n                        (reloc_symbol_changes->vec_).\n                        super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                        _M_start[(long)local_148], pGVar21 != (General_options *)0x0))\n          goto LAB_0030fa33;\n          if (uVar37 < this_01->local_symbol_count_) {\nLAB_003107a0:\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003107b3 to 003107ff has its CatchHandler @ 0031092a */\n            gold::do_gold_unreachable("../../gold/target-reloc.h",0x17f,"relocate_section");\n          }\n          ppSVar5 = (this_01->symbols_).\n                    super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                    _M_start;\n          uVar28 = (ulong)(uVar37 - this_01->local_symbol_count_);\n          if ((ulong)((long)(this_01->symbols_).\n                            super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n                            _M_impl._M_finish - (long)ppSVar5 >> 3) <= uVar28) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/object.h",0x8ad,"global_symbol");\n          }\n          pGVar21 = (General_options *)ppSVar5[uVar28];\n          if (pGVar21 == (General_options *)0x0) goto LAB_003107a0;\n          if (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring & 0x100000\n              ) == 0) goto LAB_0030fa33;\n                    /* try { // try from 0030fc40 to 0030fcb4 has its CatchHandler @ 0031092a */\n          pGVar21 = (General_options *)\n                    gold::Symbol_table::resolve_forwards(relinfo->symtab,(Symbol *)pGVar21);\n          uVar16 = *(uint *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                    longname.field_2 + 4);\n          uVar30 = uVar16 - 1;\n          if (uVar30 < 0xfffffffe) {\n            if ((symval.output_symtab_index_ != 0) && (symval.output_symtab_index_ != 0xfffffffe)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0031077c to 00310780 has its CatchHandler @ 0031092a */\n              gold::do_gold_unreachable("../../gold/object.h",0x70c,"set_output_symtab_index");\n            }\n            goto LAB_0030fcf0;\n          }\n          if (symval.output_symtab_index_ != 0) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\nLAB_0030fa42:\n          symval.output_symtab_index_ = 0xffffffff;\nLAB_0030fa4a:\n          symval.u_.value =\n               *(Value *)&(pGVar21->help_initializer_).super_Struct_special.option.helparg;\n          bVar29 = *(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                   0xf;\n          if (bVar29 == 6) {\n            symval._8_4_ = symval._8_4_ | 0x20000000;\n          }\n          else if (bVar29 == 10) {\n            symval._8_4_ = symval._8_4_ | 0x40000000;\n          }\n          bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                    helpstring + 3);\n          if ((char)bVar29 < '\0') {\n            pcVar20 = (pGVar21->help_initializer_).super_Struct_special.option.helpstring;\n            if (((ulong)pcVar20 & 0x70000) == 0) {\n              if ((*(uint *)&(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                             field_2 == 0) && ((bVar29 & 0x20) != 0)) {\nLAB_0030fd10:\n                pSVar38 = &symval;\n                uVar30 = 0;\n                goto LAB_0030fd25;\n              }\n            }\n            else if (((ulong)pcVar20 & 0x70000) == 0x40000) goto LAB_0030fd10;\n          }\n          pSVar38 = &symval;\nLAB_0030faa5:\n          symval2._8_4_ = 0x80000000;\n          symval2.output_symtab_index_ = 0;\n          symval2.output_dynsym_index_ = 0xffffffff;\n          symval2.u_.value = 0;\n          if ((long)local_140 < 0) goto LAB_0030fe48;\nLAB_0030fae5:\n          if ((view_size <= local_140) || (view + local_140 == (uchar *)0x0)) goto LAB_0030fe48;\n          uVar37 = local_120[1];\n          if (uVar37 >> 0x18 != 0) {\n            pcVar20 = (char *)gettext("Invalid/unrecognized reloc reloc %d.");\n                    /* try { // try from 0030fb3d to 0030fb59 has its CatchHandler @ 00310922 */\n            gold::gold_error(pcVar20,(ulong)(uVar37 >> 0x18));\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable\n                      ("../../gold/aarch64-reloc-property.h",0xeb,"code_to_array_index");\n          }\n          if (aarch64_reloc_property_table->table_[0] == (AArch64_reloc_property *)0x0) {\n                    /* try { // try from 003104dd to 003104e1 has its CatchHandler @ 00310922 */\n            gold::AArch64_reloc_property_table::reloc_name_in_error_message\n                      (&reloc_name,aarch64_reloc_property_table,0);\n            _Var31 = reloc_name._M_dataplus;\n            pcVar20 = (char *)gettext("cannot relocate %s in object file");\n            uVar37 = *local_120;\n            pGVar32 = local_148;\n                    /* try { // try from 00310510 to 00310514 has its CatchHandler @ 0031091a */\n            gold::gold_error_at_location<32,_true>\n                      (relinfo,(size_t)local_148,\n                       (ulong)(uVar37 >> 0x18 | (uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8 |\n                              uVar37 << 0x18),pcVar20,_Var31._M_p);\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)reloc_name._M_dataplus._M_p != &reloc_name.field_2) {\n              operator_delete(reloc_name._M_dataplus._M_p);\n            }\n          }\n          else {\n            pGVar32 = (General_options *)0x0;\n            pSVar7 = relinfo->object;\n            symval_1._8_4_ = 0x80000000;\n            symval_1.output_symtab_index_ = 0;\n            symval_1.output_dynsym_index_ = 0xffffffff;\n            symval_1.u_.value = 0;\n            if (pGVar21 == (General_options *)0x0) {\n              if ((pSVar38->field_0xb & 0x40) != 0) {\n                uVar37 = ((uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8 | uVar37 << 0x18) >> 8;\n                pGVar32 = (General_options *)(ulong)uVar37;\n                this_00 = pSVar7;\n                    /* try { // try from 00310475 to 003104bc has its CatchHandler @ 00310944 */\n                bVar14 = gold::Sized_relobj_file<32,_true>::local_has_plt_offset(pSVar7,uVar37);\n                if (bVar14) {\n                  pOVar10 = this->plt_;\n                  if (pOVar10 == (Output_data_plt_aarch64<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108c5 to 003108c9 has its CatchHandler @ 00310944 */\n                    plt_section((Target_aarch64<32,_true> *)this_00);\n                  }\n                  if (((pOVar10->super_Output_section_data).super_Output_data.field_0x20 & 1) == 0)\n                  {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108a8 to 003108ac has its CatchHandler @ 00310944 */\n                    gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar22 = (pOVar10->super_Output_section_data).super_Output_data.address_;\n                  uVar30 = pOVar10->count_;\n                  pGVar32 = (General_options *)(ulong)uVar37;\n                  iVar19 = (*(pSVar7->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                             _vptr_Object[0x2a])(pSVar7);\n                  symval_1.u_.value = (int)uVar22 + 0x20 + uVar30 * 0x10 + iVar19;\n                }\n              }\n            }\n            else {\n              uVar37 = aarch64_reloc_property_table->table_[0]->reference_flags_;\n              pGVar32 = (General_options *)(ulong)uVar37;\n                    /* try { // try from 003100df to 00310101 has its CatchHandler @ 00310944 */\n              bVar14 = gold::Symbol::use_plt_offset((Symbol *)pGVar21,uVar37);\n              if (bVar14) {\n                if (this->plt_ == (Output_data_plt_aarch64<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310800 to 00310804 has its CatchHandler @ 00310944 */\n                  plt_section((Target_aarch64<32,_true> *)0x0);\n                }\n                pGVar32 = pGVar21;\n                uVar22 = Output_data_plt_aarch64<32,_true>::address_for_global\n                                   (this->plt_,(Symbol *)pGVar21);\n                symval_1.u_.value = (Value)uVar22;\n              }\n            }\n            gold::Symbol_value<32>::~Symbol_value(&symval_1,(int)pGVar32);\n          }\n          iVar19 = (int)pGVar32;\n          if (pGVar21 != (General_options *)0x0) {\n            bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                      helpstring + 2);\n            bVar15 = bVar29 & 7;\n            if ((bVar29 & 7) == 0) {\n              if ((*(int *)&(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                            field_2 != 0) ||\n                 (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                  0x20000000) == 0)) {\n                pcVar8 = *(code **)(*(long *)(pGVar21->help_initializer_).super_Struct_special.\n                                             option.longname._M_string_length + 0x28);\n                if (pcVar8 != gold::Object::do_pluginobj) {\n                  lVar24 = (*pcVar8)();\n                  iVar19 = (int)pGVar32;\n                  if (lVar24 != 0) {\n                    bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 2);\n                    bVar15 = bVar29 & 7;\n                    if ((bVar29 & 7) == 0) {\n                      uVar37 = *(uint *)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                         longname.field_2;\n                      pGVar32 = (General_options *)(ulong)uVar37;\n                      bVar1 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                               option.helpstring + 3);\n                      if ((uVar37 == 0) && ((bVar1 & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)bVar1 < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar15 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 3)) goto LAB_00310305;\n                    bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 1);\n                    if ((bVar15 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }\nLAB_0031015a:\n                bVar1 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                         helpstring + 1);\n                bVar29 = bVar29 & 7;\n                bVar15 = bVar1 & 3;\n                if ((bVar1 & 3) == 0) goto LAB_003101c0;\nLAB_00310166:\n                if (((*(int *)&(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                               field_2 == 0) &&\n                    (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                     0x20000000) != 0)) &&\n                   ((*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring\n                     >> 4 != 2 &&\n                    (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                     0x200000000) == 0)))) {\nLAB_00310293:\n                  if (gold::parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108dd to 003108e1 has its CatchHandler @ 00310922 */\n                    gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if ((gold::parameters->options_->weak_unresolved_symbols_).value != false) {\n                    if (bVar29 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)((pGVar21->help_initializer_).super_Struct_special.option.longname.\n                                 _M_string_length + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }\n                if (bVar15 == 2) {\n                  uVar23 = gettext("hidden");\n                }\n                else if (bVar15 < 3) {\n                  if (bVar15 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    gold::do_gold_unreachable("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar23 = gettext("internal");\n                }\n                else {\n                  uVar23 = gettext("protected");\n                }\n                pp_Var2 = (pGVar21->help_initializer_).super_Struct_special.super_Struct_var.\n                          _vptr_Struct_var;\n                pcVar20 = (char *)gettext("%s symbol \'%s\' is not defined locally");\n                    /* try { // try from 003101b4 to 0031042c has its CatchHandler @ 00310922 */\n                gold::gold_error(pcVar20,uVar23,pp_Var2);\n                iVar19 = (int)uVar23;\n                goto LAB_003101c0;\n              }\nLAB_0031020c:\n              if ((*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring >>\n                   4 == 2) ||\n                 (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                  0x200000000) != 0)) {\nLAB_00310438:\n                iVar19 = (int)pGVar32;\n                bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 1) & 3;\nLAB_0031043f:\n                if (bVar15 == 0) goto LAB_003101c0;\n                bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 2) & 7;\n                if (bVar29 != 0) goto LAB_00310270;\n                goto LAB_00310166;\n              }\n              pGVar32 = gold::parameters->options_;\n              if (pGVar32 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310878 to 0031087c has its CatchHandler @ 00310922 */\n                gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((pGVar32->weak_unresolved_symbols_).value != false) goto LAB_00310438;\n              if (*(char *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                   helpstring + 3) < '\0') {\n                if (bVar15 != 0) goto LAB_00310260;\nLAB_003105b8:\n                iVar19 = (int)pGVar32;\n                pcVar8 = *(code **)(*(long *)(pGVar21->help_initializer_).super_Struct_special.\n                                             option.longname._M_string_length + 0x28);\n                if (pcVar8 == gold::Object::do_pluginobj) goto LAB_0031015a;\n                    /* try { // try from 003105cc to 003105cd has its CatchHandler @ 00310922 */\n                lVar24 = (*pcVar8)();\n                if (lVar24 == 0) goto LAB_00310438;\n              }\nLAB_00310305:\n              iVar19 = (int)pGVar32;\n              if (gold::parameters->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310818 to 0031084c has its CatchHandler @ 00310922 */\n                gold::do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n              }\n              p_Var3 = gold::parameters->target_->_vptr_Target[7];\n              if (p_Var3 != gold::Target::do_is_defined_by_abi) {\n                pGVar32 = pGVar21;\n                iVar18 = (*p_Var3)();\n                iVar19 = (int)pGVar32;\n                if ((char)iVar18 != '\0') goto LAB_00310438;\n              }\n              pGVar9 = gold::parameters->options_;\n              if (pGVar9 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              pGVar34 = (General_options *)(pGVar9->unresolved_symbols_).value;\n              bVar14 = false;\n              bVar40 = pGVar34 == (General_options *)0x0;\n              if (bVar40) {\n                bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 1) & 3;\nLAB_003103c9:\n                if ((bVar15 == 2) ||\n                   (((pGVar9->shared_).value == false || ((pGVar9->defs_).value != false))))\n                goto LAB_003103e1;\n                goto LAB_0031043f;\n              }\n              lVar24 = 0xb;\n              pGVar33 = pGVar34;\n              pbVar36 = (byte *)"ignore-all";\n              do {\n                pGVar32 = pGVar33;\n                if (lVar24 == 0) break;\n                lVar24 = lVar24 + -1;\n                pGVar32 = (General_options *)((long)pGVar33 + (ulong)bVar41 * -2 + 1);\n                bVar29 = *(byte *)&(pGVar33->help_initializer_).super_Struct_special.\n                                   super_Struct_var._vptr_Struct_var;\n                bVar14 = bVar29 < *pbVar36;\n                bVar40 = bVar29 == *pbVar36;\n                pGVar33 = pGVar32;\n                pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n              } while (bVar40);\n              bVar39 = false;\n              bVar14 = (!bVar14 && !bVar40) == bVar14;\n              if (bVar14) goto LAB_00310438;\n              lVar24 = 0xb;\n              pGVar32 = pGVar34;\n              pbVar36 = (byte *)"report-all";\n              do {\n                if (lVar24 == 0) break;\n                lVar24 = lVar24 + -1;\n                bVar29 = *(byte *)&(pGVar32->help_initializer_).super_Struct_special.\n                                   super_Struct_var._vptr_Struct_var;\n                bVar39 = bVar29 < *pbVar36;\n                bVar14 = bVar29 == *pbVar36;\n                pGVar32 = (General_options *)((long)pGVar32 + (ulong)bVar41 * -2 + 1);\n                pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n              } while (bVar14);\n              bVar40 = false;\n              bVar14 = (!bVar39 && !bVar14) == bVar39;\n              if (!bVar14) {\n                lVar24 = 0x17;\n                pGVar32 = pGVar34;\n                pbVar36 = (byte *)"ignore-in-object-files";\n                do {\n                  pGVar33 = pGVar32;\n                  if (lVar24 == 0) break;\n                  lVar24 = lVar24 + -1;\n                  pGVar33 = (General_options *)((long)pGVar32 + (ulong)bVar41 * -2 + 1);\n                  bVar29 = *(byte *)&(pGVar32->help_initializer_).super_Struct_special.\n                                     super_Struct_var._vptr_Struct_var;\n                  bVar40 = bVar29 < *pbVar36;\n                  bVar14 = bVar29 == *pbVar36;\n                  pGVar32 = pGVar33;\n                  pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                } while (bVar14);\n                iVar19 = (int)pGVar33;\n                bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 1) & 3;\n                bVar14 = (!bVar40 && !bVar14) == bVar40;\n                if ((!bVar14) ||\n                   (bVar14 = ((ulong)(pGVar21->help_initializer_).super_Struct_special.option.\n                                     helpstring & 0x1000000) == 0, !bVar14)) {\n                  bVar40 = false;\n                  lVar24 = 0x16;\n                  pbVar36 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    pGVar32 = pGVar34;\n                    if (lVar24 == 0) break;\n                    lVar24 = lVar24 + -1;\n                    pGVar32 = (General_options *)((long)pGVar34 + (ulong)bVar41 * -2 + 1);\n                    bVar29 = *(byte *)&(pGVar34->help_initializer_).super_Struct_special.\n                                       super_Struct_var._vptr_Struct_var;\n                    bVar40 = bVar29 < *pbVar36;\n                    bVar14 = bVar29 == *pbVar36;\n                    pGVar34 = pGVar32;\n                    pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                  } while (bVar14);\n                  iVar19 = (int)pGVar32;\n                  if (((!bVar40 && !bVar14) != bVar40) ||\n                     (*(char *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                       helpstring + 2) < '\0')) goto LAB_003103c9;\n                }\n                goto LAB_0031043f;\n              }\nLAB_003103e1:\n              pRVar35 = relinfo;\n              gold::gold_undefined_symbol_at_location<32,_true>\n                        ((Symbol *)pGVar21,relinfo,(size_t)local_148,local_140);\n              iVar19 = (int)pRVar35;\n              bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                        helpstring + 3);\n            }\n            else {\n              if (bVar15 == 4) goto LAB_0031020c;\nLAB_00310260:\n              iVar19 = (int)pGVar32;\n              bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                        helpstring + 1);\n              if ((bVar15 & 3) != 0) {\nLAB_0031026d:\n                bVar15 = bVar15 & 3;\n                bVar29 = bVar29 & 7;\nLAB_00310270:\n                if (((bVar29 == 4) &&\n                    (*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring\n                     >> 4 != 2)) &&\n                   (bVar29 = 4,\n                   ((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                   0x200000000) == 0)) goto LAB_00310293;\n              }\nLAB_003101c0:\n              bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                        helpstring + 3);\n            }\n            if ((bVar29 & 4) != 0) {\n              gold::Warnings::issue_warning<32,_true>\n                        (&relinfo->symtab->warnings_,(Symbol *)pGVar21,relinfo,(size_t)local_148,\n                         local_140);\n              iVar19 = (int)pGVar21;\n            }\n          }\n        }\n        local_138 = &symval;\n        gold::Symbol_value<32>::~Symbol_value(&symval2,iVar19);\n        gold::Symbol_value<32>::~Symbol_value(local_138,iVar19);\n      }\n      local_148 = (General_options *)\n                  ((long)&(local_148->help_initializer_).super_Struct_special.super_Struct_var.\n                          _vptr_Struct_var + 1);\n      local_120 = local_120 + 3;\n    } while ((General_options *)reloc_count != local_148);\n  }" { (do_statement "do {\n      uVar37 = *local_120;\n      local_140 = (ulong)(uVar37 >> 0x18 | (uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8 |\n                         uVar37 << 0x18);\n      if ((!needs_special_offset_handling) ||\n         (local_140 = gold::Output_section::output_offset\n                                (output_section,(Relobj *)relinfo->object,relinfo->data_shndx,\n                                 local_140), local_140 != 0xffffffffffffffff)) {\n        symval._8_4_ = 0x80000000;\n        symval.u_.value = 0;\n        uVar37 = local_120[1];\n        symval.output_symtab_index_ = 0;\n        symval.output_dynsym_index_ = 0xffffffff;\n        uVar37 = ((uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8 | uVar37 << 0x18) >> 8;\n        if (uVar37 < local_ec) {\n          if ((reloc_symbol_changes != (Reloc_symbol_changes *)0x0) &&\n             (pGVar21 = (General_options *)\n                        (reloc_symbol_changes->vec_).\n                        super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                        _M_start[(long)local_148], pGVar21 != (General_options *)0x0)) {\nLAB_0030fa33:\n            uVar16 = *(uint *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                      longname.field_2 + 4);\n            uVar30 = uVar16 - 1;\n            if (0xfffffffd < uVar30) goto LAB_0030fa42;\nLAB_0030fcf0:\n            if (uVar30 == 0xfffffffd) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/object.h",0x70d,"set_output_symtab_index");\n            }\n            symval.output_symtab_index_ = uVar16;\n            goto LAB_0030fa4a;\n          }\n          pSVar4 = (this_01->local_values_).\n                   super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                   ._M_impl._M_start;\n          if ((ulong)(((long)(this_01->local_values_).\n                             super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                             ._M_impl._M_finish - (long)pSVar4 >> 3) * -0x5555555555555555) <=\n              (ulong)uVar37) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/object.h",0x8c1,"local_symbol");\n          }\n          pSVar38 = pSVar4 + uVar37;\n          uVar16 = *(uint *)&pSVar38->field_0x8 & 0x7ffffff;\n          uVar30 = *(uint *)&pSVar38->field_0x8 & 0x7ffffff;\n          if (((pSVar38->field_0xb & 8) == 0) || (uVar16 == 0)) {\nLAB_0030fbb3:\n            pGVar21 = (General_options *)0x0;\n            goto LAB_0030faa5;\n          }\n          ppOVar6 = (this_01->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n          if ((ulong)((long)(this_01->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (long)ppOVar6 >> 3) <= (ulong)uVar16) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310860 to 00310864 has its CatchHandler @ 0031092a */\n            gold::do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (ppOVar6[uVar16] != (Output_section *)0x0) goto LAB_0030fbb3;\n          bVar14 = gold::Symbol_table::is_section_folded(relinfo->symtab,(Relobj *)this_01,uVar30);\n          pGVar21 = (General_options *)0x0;\n          if (bVar14) {\n            pGVar21 = (General_options *)0x0;\n            goto LAB_0030faa5;\n          }\nLAB_0030fd25:\n          symval2._8_4_ = 0x80000000;\n          symval2.output_symtab_index_ = 0;\n          symval2.output_dynsym_index_ = 0xffffffff;\n          symval2.u_.value = 0;\n          p_Var3 = (this_01->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object\n                   [0x10];\n          if (p_Var3 == gold::Sized_relobj_file<32,_true>::do_section_name) {\n                    /* try { // try from 0030fd86 to 0030fd8a has its CatchHandler @ 00310922 */\n            elfcpp::Elf_file<32,_true,_gold::Object>::section_name\n                      (&reloc_name,&this_01->elf_file_,relinfo->data_shndx);\n          }\n          else {\n                    /* try { // try from 00310038 to 00310039 has its CatchHandler @ 00310922 */\n            (*p_Var3)(&reloc_name,this_01);\n          }\n          bVar14 = false;\n          bVar40 = iVar13 == 0;\n          if (bVar40) {\n            lVar24 = 6;\n            _Var31._M_p = reloc_name._M_dataplus._M_p;\n            pbVar36 = &DAT_00533552;\n            do {\n              if (lVar24 == 0) break;\n              lVar24 = lVar24 + -1;\n              bVar14 = (byte)*_Var31._M_p < *pbVar36;\n              bVar40 = *_Var31._M_p == *pbVar36;\n              _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n              pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n            } while (bVar40);\n            bVar39 = false;\n            bVar14 = (!bVar14 && !bVar40) == bVar14;\n            if (!bVar14) {\n              lVar24 = 7;\n              _Var31._M_p = reloc_name._M_dataplus._M_p;\n              pbVar36 = (byte *)".zdebug";\n              do {\n                if (lVar24 == 0) break;\n                lVar24 = lVar24 + -1;\n                bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                bVar14 = *_Var31._M_p == *pbVar36;\n                _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n              } while (bVar14);\n              bVar40 = false;\n              bVar14 = (!bVar39 && !bVar14) == bVar39;\n              if (!bVar14) {\n                lVar24 = 0x11;\n                _Var31._M_p = reloc_name._M_dataplus._M_p;\n                pbVar36 = (byte *)".gnu.linkonce.wi.";\n                do {\n                  if (lVar24 == 0) break;\n                  lVar24 = lVar24 + -1;\n                  bVar40 = (byte)*_Var31._M_p < *pbVar36;\n                  bVar14 = *_Var31._M_p == *pbVar36;\n                  _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                  pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                } while (bVar14);\n                bVar39 = false;\n                bVar14 = (!bVar40 && !bVar14) == bVar40;\n                if (!bVar14) {\n                  lVar24 = 5;\n                  _Var31._M_p = reloc_name._M_dataplus._M_p;\n                  pbVar36 = (byte *)".line";\n                  do {\n                    if (lVar24 == 0) break;\n                    lVar24 = lVar24 + -1;\n                    bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                    bVar14 = *_Var31._M_p == *pbVar36;\n                    _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                    pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                  } while (bVar14);\n                  bVar40 = false;\n                  bVar14 = (!bVar39 && !bVar14) == bVar39;\n                  if (!bVar14) {\n                    lVar24 = 5;\n                    _Var31._M_p = reloc_name._M_dataplus._M_p;\n                    pbVar36 = (byte *)".stab";\n                    do {\n                      if (lVar24 == 0) break;\n                      lVar24 = lVar24 + -1;\n                      bVar40 = (byte)*_Var31._M_p < *pbVar36;\n                      bVar14 = *_Var31._M_p == *pbVar36;\n                      _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                      pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                    } while (bVar14);\n                    bVar39 = false;\n                    bVar14 = (!bVar40 && !bVar14) == bVar40;\n                    if (!bVar14) {\n                      lVar24 = 4;\n                      _Var31._M_p = reloc_name._M_dataplus._M_p;\n                      pbVar36 = &DAT_0053357f;\n                      do {\n                        if (lVar24 == 0) break;\n                        lVar24 = lVar24 + -1;\n                        bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                        bVar14 = *_Var31._M_p == *pbVar36;\n                        _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                        pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                      } while (bVar14);\n                      bVar40 = false;\n                      bVar14 = (!bVar39 && !bVar14) == bVar39;\n                      if (!bVar14) {\n                        lVar24 = 10;\n                        _Var31._M_p = reloc_name._M_dataplus._M_p;\n                        pbVar36 = (byte *)".eh_frame";\n                        do {\n                          if (lVar24 == 0) break;\n                          lVar24 = lVar24 + -1;\n                          bVar40 = (byte)*_Var31._M_p < *pbVar36;\n                          bVar14 = *_Var31._M_p == *pbVar36;\n                          _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                          pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                        } while (bVar14);\n                        bVar39 = false;\n                        bVar14 = (!bVar40 && !bVar14) == bVar40;\n                        if (!bVar14) {\n                          lVar24 = 0x12;\n                          _Var31._M_p = reloc_name._M_dataplus._M_p;\n                          pbVar36 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar24 == 0) break;\n                            lVar24 = lVar24 + -1;\n                            bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                            bVar14 = *_Var31._M_p == *pbVar36;\n                            _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                            pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                          } while (bVar14);\n                          if ((!bVar39 && !bVar14) != bVar39) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0030fdc0:\n                    /* try { // try from 0030fdd2 to 0030fdd6 has its CatchHandler @ 00310912 */\n            AVar17 = gold::Sized_relobj_file<32,_true>::map_to_kept_section\n                               (this_01,uVar30,&reloc_name,&found);\n            symval2.u_.value = 0;\n            if (found != false) {\n              symval2.u_.value = AVar17 + (pSVar38->u_).value;\n            }\n            iVar13 = 1;\n          }\n          else {\n            if (iVar13 == 1) goto LAB_0030fdc0;\n            if (iVar13 == 3) {\nLAB_0030ff50:\n              pSVar7 = relinfo->object;\n              if (pGVar21 == (General_options *)0x0) {\n                    /* try { // try from 003105ee to 0031061d has its CatchHandler @ 00310912 */\n                pcVar20 = gold::Sized_relobj_file<32,_true>::get_symbol_name(pSVar7,uVar37);\n                pcVar27 = (char *)gettext(\n                                         "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                         );\n                gold::gold_error_at_location<32,_true>\n                          (relinfo,(size_t)local_148,local_140,pcVar27,pcVar20,(ulong)uVar37);\n              }\n              else {\n                    /* try { // try from 0030ff70 to 0030ff74 has its CatchHandler @ 00310912 */\n                gold::Symbol::demangled_name((string *)&found,(Symbol *)pGVar21);\n                uVar23 = CONCAT71(uStack_77,found);\n                pcVar20 = (char *)gettext(\n                                         "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                         );\n                    /* try { // try from 0030ffa4 to 0030ffa8 has its CatchHandler @ 0031093c */\n                gold::gold_error_at_location<32,_true>\n                          (relinfo,(size_t)local_148,local_140,pcVar20,uVar23);\n                if ((undefined1 *)CONCAT71(uStack_77,found) != auStack_68) {\n                  operator_delete((undefined1 *)CONCAT71(uStack_77,found));\n                }\n              }\n                    /* try { // try from 0030ffd1 to 0030ffd5 has its CatchHandler @ 00310912 */\n              uVar37 = gold::Sized_relobj_file<32,_true>::symbol_section_and_value\n                                 (pSVar7,uVar37,&value,&is_ordinary);\n              if (uVar37 != 0) {\n                    /* try { // try from 00310544 to 0031057d has its CatchHandler @ 00310912 */\n                pRVar25 = gold::Sized_relobj_file<32,_true>::find_kept_section_object\n                                    (pSVar7,uVar37,&key_symndx);\n                if (key_symndx != 0) {\n                    /* try { // try from 00310725 to 00310745 has its CatchHandler @ 00310912 */\n                  pcVar20 = gold::Sized_relobj_file<32,_true>::get_symbol_name(pSVar7,key_symndx);\n                  pcVar27 = (char *)gettext("  section group signature: \"%s\"");\n                  gold::gold_info(pcVar27,pcVar20);\n                }\n                if (pRVar25 != (Relobj *)0x0) {\n                  pcVar11 = (pRVar25->super_Object).name_._M_dataplus._M_p;\n                  pcVar20 = (char *)gettext("  prevailing definition is from %s");\n                  gold::gold_info(pcVar20,pcVar11);\n                }\n              }\n              iVar13 = 3;\n            }\n            else {\nLAB_00310006:\n              iVar13 = 2;\n            }\n            symval2.u_.value = 0;\n          }\n          if (symval2.output_symtab_index_ != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310794 to 00310798 has its CatchHandler @ 00310912 */\n            gold::do_gold_unreachable("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\n          symval2.output_symtab_index_ = 0xffffffff;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)reloc_name._M_dataplus._M_p != &reloc_name.field_2) {\n            operator_delete(reloc_name._M_dataplus._M_p);\n          }\n          pSVar38 = &symval2;\n          if (-1 < (long)local_140) goto LAB_0030fae5;\nLAB_0030fe48:\n          pcVar20 = (char *)gettext("reloc has bad offset %zu");\n          pGVar21 = local_148;\n                    /* try { // try from 0030fe68 to 0030fe6c has its CatchHandler @ 00310922 */\n          gold::gold_error_at_location<32,_true>\n                    (relinfo,(size_t)local_148,local_140,pcVar20,local_140);\n          iVar19 = (int)pGVar21;\n        }\n        else {\n          if ((reloc_symbol_changes != (Reloc_symbol_changes *)0x0) &&\n             (pGVar21 = (General_options *)\n                        (reloc_symbol_changes->vec_).\n                        super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                        _M_start[(long)local_148], pGVar21 != (General_options *)0x0))\n          goto LAB_0030fa33;\n          if (uVar37 < this_01->local_symbol_count_) {\nLAB_003107a0:\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003107b3 to 003107ff has its CatchHandler @ 0031092a */\n            gold::do_gold_unreachable("../../gold/target-reloc.h",0x17f,"relocate_section");\n          }\n          ppSVar5 = (this_01->symbols_).\n                    super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                    _M_start;\n          uVar28 = (ulong)(uVar37 - this_01->local_symbol_count_);\n          if ((ulong)((long)(this_01->symbols_).\n                            super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n                            _M_impl._M_finish - (long)ppSVar5 >> 3) <= uVar28) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/object.h",0x8ad,"global_symbol");\n          }\n          pGVar21 = (General_options *)ppSVar5[uVar28];\n          if (pGVar21 == (General_options *)0x0) goto LAB_003107a0;\n          if (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring & 0x100000\n              ) == 0) goto LAB_0030fa33;\n                    /* try { // try from 0030fc40 to 0030fcb4 has its CatchHandler @ 0031092a */\n          pGVar21 = (General_options *)\n                    gold::Symbol_table::resolve_forwards(relinfo->symtab,(Symbol *)pGVar21);\n          uVar16 = *(uint *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                    longname.field_2 + 4);\n          uVar30 = uVar16 - 1;\n          if (uVar30 < 0xfffffffe) {\n            if ((symval.output_symtab_index_ != 0) && (symval.output_symtab_index_ != 0xfffffffe)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0031077c to 00310780 has its CatchHandler @ 0031092a */\n              gold::do_gold_unreachable("../../gold/object.h",0x70c,"set_output_symtab_index");\n            }\n            goto LAB_0030fcf0;\n          }\n          if (symval.output_symtab_index_ != 0) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\nLAB_0030fa42:\n          symval.output_symtab_index_ = 0xffffffff;\nLAB_0030fa4a:\n          symval.u_.value =\n               *(Value *)&(pGVar21->help_initializer_).super_Struct_special.option.helparg;\n          bVar29 = *(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                   0xf;\n          if (bVar29 == 6) {\n            symval._8_4_ = symval._8_4_ | 0x20000000;\n          }\n          else if (bVar29 == 10) {\n            symval._8_4_ = symval._8_4_ | 0x40000000;\n          }\n          bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                    helpstring + 3);\n          if ((char)bVar29 < '\0') {\n            pcVar20 = (pGVar21->help_initializer_).super_Struct_special.option.helpstring;\n            if (((ulong)pcVar20 & 0x70000) == 0) {\n              if ((*(uint *)&(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                             field_2 == 0) && ((bVar29 & 0x20) != 0)) {\nLAB_0030fd10:\n                pSVar38 = &symval;\n                uVar30 = 0;\n                goto LAB_0030fd25;\n              }\n            }\n            else if (((ulong)pcVar20 & 0x70000) == 0x40000) goto LAB_0030fd10;\n          }\n          pSVar38 = &symval;\nLAB_0030faa5:\n          symval2._8_4_ = 0x80000000;\n          symval2.output_symtab_index_ = 0;\n          symval2.output_dynsym_index_ = 0xffffffff;\n          symval2.u_.value = 0;\n          if ((long)local_140 < 0) goto LAB_0030fe48;\nLAB_0030fae5:\n          if ((view_size <= local_140) || (view + local_140 == (uchar *)0x0)) goto LAB_0030fe48;\n          uVar37 = local_120[1];\n          if (uVar37 >> 0x18 != 0) {\n            pcVar20 = (char *)gettext("Invalid/unrecognized reloc reloc %d.");\n                    /* try { // try from 0030fb3d to 0030fb59 has its CatchHandler @ 00310922 */\n            gold::gold_error(pcVar20,(ulong)(uVar37 >> 0x18));\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable\n                      ("../../gold/aarch64-reloc-property.h",0xeb,"code_to_array_index");\n          }\n          if (aarch64_reloc_property_table->table_[0] == (AArch64_reloc_property *)0x0) {\n                    /* try { // try from 003104dd to 003104e1 has its CatchHandler @ 00310922 */\n            gold::AArch64_reloc_property_table::reloc_name_in_error_message\n                      (&reloc_name,aarch64_reloc_property_table,0);\n            _Var31 = reloc_name._M_dataplus;\n            pcVar20 = (char *)gettext("cannot relocate %s in object file");\n            uVar37 = *local_120;\n            pGVar32 = local_148;\n                    /* try { // try from 00310510 to 00310514 has its CatchHandler @ 0031091a */\n            gold::gold_error_at_location<32,_true>\n                      (relinfo,(size_t)local_148,\n                       (ulong)(uVar37 >> 0x18 | (uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8 |\n                              uVar37 << 0x18),pcVar20,_Var31._M_p);\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)reloc_name._M_dataplus._M_p != &reloc_name.field_2) {\n              operator_delete(reloc_name._M_dataplus._M_p);\n            }\n          }\n          else {\n            pGVar32 = (General_options *)0x0;\n            pSVar7 = relinfo->object;\n            symval_1._8_4_ = 0x80000000;\n            symval_1.output_symtab_index_ = 0;\n            symval_1.output_dynsym_index_ = 0xffffffff;\n            symval_1.u_.value = 0;\n            if (pGVar21 == (General_options *)0x0) {\n              if ((pSVar38->field_0xb & 0x40) != 0) {\n                uVar37 = ((uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8 | uVar37 << 0x18) >> 8;\n                pGVar32 = (General_options *)(ulong)uVar37;\n                this_00 = pSVar7;\n                    /* try { // try from 00310475 to 003104bc has its CatchHandler @ 00310944 */\n                bVar14 = gold::Sized_relobj_file<32,_true>::local_has_plt_offset(pSVar7,uVar37);\n                if (bVar14) {\n                  pOVar10 = this->plt_;\n                  if (pOVar10 == (Output_data_plt_aarch64<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108c5 to 003108c9 has its CatchHandler @ 00310944 */\n                    plt_section((Target_aarch64<32,_true> *)this_00);\n                  }\n                  if (((pOVar10->super_Output_section_data).super_Output_data.field_0x20 & 1) == 0)\n                  {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108a8 to 003108ac has its CatchHandler @ 00310944 */\n                    gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar22 = (pOVar10->super_Output_section_data).super_Output_data.address_;\n                  uVar30 = pOVar10->count_;\n                  pGVar32 = (General_options *)(ulong)uVar37;\n                  iVar19 = (*(pSVar7->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                             _vptr_Object[0x2a])(pSVar7);\n                  symval_1.u_.value = (int)uVar22 + 0x20 + uVar30 * 0x10 + iVar19;\n                }\n              }\n            }\n            else {\n              uVar37 = aarch64_reloc_property_table->table_[0]->reference_flags_;\n              pGVar32 = (General_options *)(ulong)uVar37;\n                    /* try { // try from 003100df to 00310101 has its CatchHandler @ 00310944 */\n              bVar14 = gold::Symbol::use_plt_offset((Symbol *)pGVar21,uVar37);\n              if (bVar14) {\n                if (this->plt_ == (Output_data_plt_aarch64<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310800 to 00310804 has its CatchHandler @ 00310944 */\n                  plt_section((Target_aarch64<32,_true> *)0x0);\n                }\n                pGVar32 = pGVar21;\n                uVar22 = Output_data_plt_aarch64<32,_true>::address_for_global\n                                   (this->plt_,(Symbol *)pGVar21);\n                symval_1.u_.value = (Value)uVar22;\n              }\n            }\n            gold::Symbol_value<32>::~Symbol_value(&symval_1,(int)pGVar32);\n          }\n          iVar19 = (int)pGVar32;\n          if (pGVar21 != (General_options *)0x0) {\n            bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                      helpstring + 2);\n            bVar15 = bVar29 & 7;\n            if ((bVar29 & 7) == 0) {\n              if ((*(int *)&(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                            field_2 != 0) ||\n                 (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                  0x20000000) == 0)) {\n                pcVar8 = *(code **)(*(long *)(pGVar21->help_initializer_).super_Struct_special.\n                                             option.longname._M_string_length + 0x28);\n                if (pcVar8 != gold::Object::do_pluginobj) {\n                  lVar24 = (*pcVar8)();\n                  iVar19 = (int)pGVar32;\n                  if (lVar24 != 0) {\n                    bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 2);\n                    bVar15 = bVar29 & 7;\n                    if ((bVar29 & 7) == 0) {\n                      uVar37 = *(uint *)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                         longname.field_2;\n                      pGVar32 = (General_options *)(ulong)uVar37;\n                      bVar1 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                               option.helpstring + 3);\n                      if ((uVar37 == 0) && ((bVar1 & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)bVar1 < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar15 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 3)) goto LAB_00310305;\n                    bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 1);\n                    if ((bVar15 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }\nLAB_0031015a:\n                bVar1 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                         helpstring + 1);\n                bVar29 = bVar29 & 7;\n                bVar15 = bVar1 & 3;\n                if ((bVar1 & 3) == 0) goto LAB_003101c0;\nLAB_00310166:\n                if (((*(int *)&(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                               field_2 == 0) &&\n                    (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                     0x20000000) != 0)) &&\n                   ((*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring\n                     >> 4 != 2 &&\n                    (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                     0x200000000) == 0)))) {\nLAB_00310293:\n                  if (gold::parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108dd to 003108e1 has its CatchHandler @ 00310922 */\n                    gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if ((gold::parameters->options_->weak_unresolved_symbols_).value != false) {\n                    if (bVar29 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)((pGVar21->help_initializer_).super_Struct_special.option.longname.\n                                 _M_string_length + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }\n                if (bVar15 == 2) {\n                  uVar23 = gettext("hidden");\n                }\n                else if (bVar15 < 3) {\n                  if (bVar15 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    gold::do_gold_unreachable("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar23 = gettext("internal");\n                }\n                else {\n                  uVar23 = gettext("protected");\n                }\n                pp_Var2 = (pGVar21->help_initializer_).super_Struct_special.super_Struct_var.\n                          _vptr_Struct_var;\n                pcVar20 = (char *)gettext("%s symbol \'%s\' is not defined locally");\n                    /* try { // try from 003101b4 to 0031042c has its CatchHandler @ 00310922 */\n                gold::gold_error(pcVar20,uVar23,pp_Var2);\n                iVar19 = (int)uVar23;\n                goto LAB_003101c0;\n              }\nLAB_0031020c:\n              if ((*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring >>\n                   4 == 2) ||\n                 (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                  0x200000000) != 0)) {\nLAB_00310438:\n                iVar19 = (int)pGVar32;\n                bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 1) & 3;\nLAB_0031043f:\n                if (bVar15 == 0) goto LAB_003101c0;\n                bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 2) & 7;\n                if (bVar29 != 0) goto LAB_00310270;\n                goto LAB_00310166;\n              }\n              pGVar32 = gold::parameters->options_;\n              if (pGVar32 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310878 to 0031087c has its CatchHandler @ 00310922 */\n                gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((pGVar32->weak_unresolved_symbols_).value != false) goto LAB_00310438;\n              if (*(char *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                   helpstring + 3) < '\0') {\n                if (bVar15 != 0) goto LAB_00310260;\nLAB_003105b8:\n                iVar19 = (int)pGVar32;\n                pcVar8 = *(code **)(*(long *)(pGVar21->help_initializer_).super_Struct_special.\n                                             option.longname._M_string_length + 0x28);\n                if (pcVar8 == gold::Object::do_pluginobj) goto LAB_0031015a;\n                    /* try { // try from 003105cc to 003105cd has its CatchHandler @ 00310922 */\n                lVar24 = (*pcVar8)();\n                if (lVar24 == 0) goto LAB_00310438;\n              }\nLAB_00310305:\n              iVar19 = (int)pGVar32;\n              if (gold::parameters->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310818 to 0031084c has its CatchHandler @ 00310922 */\n                gold::do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n              }\n              p_Var3 = gold::parameters->target_->_vptr_Target[7];\n              if (p_Var3 != gold::Target::do_is_defined_by_abi) {\n                pGVar32 = pGVar21;\n                iVar18 = (*p_Var3)();\n                iVar19 = (int)pGVar32;\n                if ((char)iVar18 != '\0') goto LAB_00310438;\n              }\n              pGVar9 = gold::parameters->options_;\n              if (pGVar9 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              pGVar34 = (General_options *)(pGVar9->unresolved_symbols_).value;\n              bVar14 = false;\n              bVar40 = pGVar34 == (General_options *)0x0;\n              if (bVar40) {\n                bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 1) & 3;\nLAB_003103c9:\n                if ((bVar15 == 2) ||\n                   (((pGVar9->shared_).value == false || ((pGVar9->defs_).value != false))))\n                goto LAB_003103e1;\n                goto LAB_0031043f;\n              }\n              lVar24 = 0xb;\n              pGVar33 = pGVar34;\n              pbVar36 = (byte *)"ignore-all";\n              do {\n                pGVar32 = pGVar33;\n                if (lVar24 == 0) break;\n                lVar24 = lVar24 + -1;\n                pGVar32 = (General_options *)((long)pGVar33 + (ulong)bVar41 * -2 + 1);\n                bVar29 = *(byte *)&(pGVar33->help_initializer_).super_Struct_special.\n                                   super_Struct_var._vptr_Struct_var;\n                bVar14 = bVar29 < *pbVar36;\n                bVar40 = bVar29 == *pbVar36;\n                pGVar33 = pGVar32;\n                pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n              } while (bVar40);\n              bVar39 = false;\n              bVar14 = (!bVar14 && !bVar40) == bVar14;\n              if (bVar14) goto LAB_00310438;\n              lVar24 = 0xb;\n              pGVar32 = pGVar34;\n              pbVar36 = (byte *)"report-all";\n              do {\n                if (lVar24 == 0) break;\n                lVar24 = lVar24 + -1;\n                bVar29 = *(byte *)&(pGVar32->help_initializer_).super_Struct_special.\n                                   super_Struct_var._vptr_Struct_var;\n                bVar39 = bVar29 < *pbVar36;\n                bVar14 = bVar29 == *pbVar36;\n                pGVar32 = (General_options *)((long)pGVar32 + (ulong)bVar41 * -2 + 1);\n                pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n              } while (bVar14);\n              bVar40 = false;\n              bVar14 = (!bVar39 && !bVar14) == bVar39;\n              if (!bVar14) {\n                lVar24 = 0x17;\n                pGVar32 = pGVar34;\n                pbVar36 = (byte *)"ignore-in-object-files";\n                do {\n                  pGVar33 = pGVar32;\n                  if (lVar24 == 0) break;\n                  lVar24 = lVar24 + -1;\n                  pGVar33 = (General_options *)((long)pGVar32 + (ulong)bVar41 * -2 + 1);\n                  bVar29 = *(byte *)&(pGVar32->help_initializer_).super_Struct_special.\n                                     super_Struct_var._vptr_Struct_var;\n                  bVar40 = bVar29 < *pbVar36;\n                  bVar14 = bVar29 == *pbVar36;\n                  pGVar32 = pGVar33;\n                  pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                } while (bVar14);\n                iVar19 = (int)pGVar33;\n                bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 1) & 3;\n                bVar14 = (!bVar40 && !bVar14) == bVar40;\n                if ((!bVar14) ||\n                   (bVar14 = ((ulong)(pGVar21->help_initializer_).super_Struct_special.option.\n                                     helpstring & 0x1000000) == 0, !bVar14)) {\n                  bVar40 = false;\n                  lVar24 = 0x16;\n                  pbVar36 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    pGVar32 = pGVar34;\n                    if (lVar24 == 0) break;\n                    lVar24 = lVar24 + -1;\n                    pGVar32 = (General_options *)((long)pGVar34 + (ulong)bVar41 * -2 + 1);\n                    bVar29 = *(byte *)&(pGVar34->help_initializer_).super_Struct_special.\n                                       super_Struct_var._vptr_Struct_var;\n                    bVar40 = bVar29 < *pbVar36;\n                    bVar14 = bVar29 == *pbVar36;\n                    pGVar34 = pGVar32;\n                    pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                  } while (bVar14);\n                  iVar19 = (int)pGVar32;\n                  if (((!bVar40 && !bVar14) != bVar40) ||\n                     (*(char *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                       helpstring + 2) < '\0')) goto LAB_003103c9;\n                }\n                goto LAB_0031043f;\n              }\nLAB_003103e1:\n              pRVar35 = relinfo;\n              gold::gold_undefined_symbol_at_location<32,_true>\n                        ((Symbol *)pGVar21,relinfo,(size_t)local_148,local_140);\n              iVar19 = (int)pRVar35;\n              bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                        helpstring + 3);\n            }\n            else {\n              if (bVar15 == 4) goto LAB_0031020c;\nLAB_00310260:\n              iVar19 = (int)pGVar32;\n              bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                        helpstring + 1);\n              if ((bVar15 & 3) != 0) {\nLAB_0031026d:\n                bVar15 = bVar15 & 3;\n                bVar29 = bVar29 & 7;\nLAB_00310270:\n                if (((bVar29 == 4) &&\n                    (*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring\n                     >> 4 != 2)) &&\n                   (bVar29 = 4,\n                   ((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                   0x200000000) == 0)) goto LAB_00310293;\n              }\nLAB_003101c0:\n              bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                        helpstring + 3);\n            }\n            if ((bVar29 & 4) != 0) {\n              gold::Warnings::issue_warning<32,_true>\n                        (&relinfo->symtab->warnings_,(Symbol *)pGVar21,relinfo,(size_t)local_148,\n                         local_140);\n              iVar19 = (int)pGVar21;\n            }\n          }\n        }\n        local_138 = &symval;\n        gold::Symbol_value<32>::~Symbol_value(&symval2,iVar19);\n        gold::Symbol_value<32>::~Symbol_value(local_138,iVar19);\n      }\n      local_148 = (General_options *)\n                  ((long)&(local_148->help_initializer_).super_Struct_special.super_Struct_var.\n                          _vptr_Struct_var + 1);\n      local_120 = local_120 + 3;\n    } while ((General_options *)reloc_count != local_148);" do (compound_statement "{\n      uVar37 = *local_120;\n      local_140 = (ulong)(uVar37 >> 0x18 | (uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8 |\n                         uVar37 << 0x18);\n      if ((!needs_special_offset_handling) ||\n         (local_140 = gold::Output_section::output_offset\n                                (output_section,(Relobj *)relinfo->object,relinfo->data_shndx,\n                                 local_140), local_140 != 0xffffffffffffffff)) {\n        symval._8_4_ = 0x80000000;\n        symval.u_.value = 0;\n        uVar37 = local_120[1];\n        symval.output_symtab_index_ = 0;\n        symval.output_dynsym_index_ = 0xffffffff;\n        uVar37 = ((uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8 | uVar37 << 0x18) >> 8;\n        if (uVar37 < local_ec) {\n          if ((reloc_symbol_changes != (Reloc_symbol_changes *)0x0) &&\n             (pGVar21 = (General_options *)\n                        (reloc_symbol_changes->vec_).\n                        super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                        _M_start[(long)local_148], pGVar21 != (General_options *)0x0)) {\nLAB_0030fa33:\n            uVar16 = *(uint *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                      longname.field_2 + 4);\n            uVar30 = uVar16 - 1;\n            if (0xfffffffd < uVar30) goto LAB_0030fa42;\nLAB_0030fcf0:\n            if (uVar30 == 0xfffffffd) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/object.h",0x70d,"set_output_symtab_index");\n            }\n            symval.output_symtab_index_ = uVar16;\n            goto LAB_0030fa4a;\n          }\n          pSVar4 = (this_01->local_values_).\n                   super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                   ._M_impl._M_start;\n          if ((ulong)(((long)(this_01->local_values_).\n                             super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                             ._M_impl._M_finish - (long)pSVar4 >> 3) * -0x5555555555555555) <=\n              (ulong)uVar37) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/object.h",0x8c1,"local_symbol");\n          }\n          pSVar38 = pSVar4 + uVar37;\n          uVar16 = *(uint *)&pSVar38->field_0x8 & 0x7ffffff;\n          uVar30 = *(uint *)&pSVar38->field_0x8 & 0x7ffffff;\n          if (((pSVar38->field_0xb & 8) == 0) || (uVar16 == 0)) {\nLAB_0030fbb3:\n            pGVar21 = (General_options *)0x0;\n            goto LAB_0030faa5;\n          }\n          ppOVar6 = (this_01->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n          if ((ulong)((long)(this_01->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (long)ppOVar6 >> 3) <= (ulong)uVar16) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310860 to 00310864 has its CatchHandler @ 0031092a */\n            gold::do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (ppOVar6[uVar16] != (Output_section *)0x0) goto LAB_0030fbb3;\n          bVar14 = gold::Symbol_table::is_section_folded(relinfo->symtab,(Relobj *)this_01,uVar30);\n          pGVar21 = (General_options *)0x0;\n          if (bVar14) {\n            pGVar21 = (General_options *)0x0;\n            goto LAB_0030faa5;\n          }\nLAB_0030fd25:\n          symval2._8_4_ = 0x80000000;\n          symval2.output_symtab_index_ = 0;\n          symval2.output_dynsym_index_ = 0xffffffff;\n          symval2.u_.value = 0;\n          p_Var3 = (this_01->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object\n                   [0x10];\n          if (p_Var3 == gold::Sized_relobj_file<32,_true>::do_section_name) {\n                    /* try { // try from 0030fd86 to 0030fd8a has its CatchHandler @ 00310922 */\n            elfcpp::Elf_file<32,_true,_gold::Object>::section_name\n                      (&reloc_name,&this_01->elf_file_,relinfo->data_shndx);\n          }\n          else {\n                    /* try { // try from 00310038 to 00310039 has its CatchHandler @ 00310922 */\n            (*p_Var3)(&reloc_name,this_01);\n          }\n          bVar14 = false;\n          bVar40 = iVar13 == 0;\n          if (bVar40) {\n            lVar24 = 6;\n            _Var31._M_p = reloc_name._M_dataplus._M_p;\n            pbVar36 = &DAT_00533552;\n            do {\n              if (lVar24 == 0) break;\n              lVar24 = lVar24 + -1;\n              bVar14 = (byte)*_Var31._M_p < *pbVar36;\n              bVar40 = *_Var31._M_p == *pbVar36;\n              _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n              pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n            } while (bVar40);\n            bVar39 = false;\n            bVar14 = (!bVar14 && !bVar40) == bVar14;\n            if (!bVar14) {\n              lVar24 = 7;\n              _Var31._M_p = reloc_name._M_dataplus._M_p;\n              pbVar36 = (byte *)".zdebug";\n              do {\n                if (lVar24 == 0) break;\n                lVar24 = lVar24 + -1;\n                bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                bVar14 = *_Var31._M_p == *pbVar36;\n                _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n              } while (bVar14);\n              bVar40 = false;\n              bVar14 = (!bVar39 && !bVar14) == bVar39;\n              if (!bVar14) {\n                lVar24 = 0x11;\n                _Var31._M_p = reloc_name._M_dataplus._M_p;\n                pbVar36 = (byte *)".gnu.linkonce.wi.";\n                do {\n                  if (lVar24 == 0) break;\n                  lVar24 = lVar24 + -1;\n                  bVar40 = (byte)*_Var31._M_p < *pbVar36;\n                  bVar14 = *_Var31._M_p == *pbVar36;\n                  _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                  pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                } while (bVar14);\n                bVar39 = false;\n                bVar14 = (!bVar40 && !bVar14) == bVar40;\n                if (!bVar14) {\n                  lVar24 = 5;\n                  _Var31._M_p = reloc_name._M_dataplus._M_p;\n                  pbVar36 = (byte *)".line";\n                  do {\n                    if (lVar24 == 0) break;\n                    lVar24 = lVar24 + -1;\n                    bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                    bVar14 = *_Var31._M_p == *pbVar36;\n                    _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                    pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                  } while (bVar14);\n                  bVar40 = false;\n                  bVar14 = (!bVar39 && !bVar14) == bVar39;\n                  if (!bVar14) {\n                    lVar24 = 5;\n                    _Var31._M_p = reloc_name._M_dataplus._M_p;\n                    pbVar36 = (byte *)".stab";\n                    do {\n                      if (lVar24 == 0) break;\n                      lVar24 = lVar24 + -1;\n                      bVar40 = (byte)*_Var31._M_p < *pbVar36;\n                      bVar14 = *_Var31._M_p == *pbVar36;\n                      _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                      pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                    } while (bVar14);\n                    bVar39 = false;\n                    bVar14 = (!bVar40 && !bVar14) == bVar40;\n                    if (!bVar14) {\n                      lVar24 = 4;\n                      _Var31._M_p = reloc_name._M_dataplus._M_p;\n                      pbVar36 = &DAT_0053357f;\n                      do {\n                        if (lVar24 == 0) break;\n                        lVar24 = lVar24 + -1;\n                        bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                        bVar14 = *_Var31._M_p == *pbVar36;\n                        _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                        pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                      } while (bVar14);\n                      bVar40 = false;\n                      bVar14 = (!bVar39 && !bVar14) == bVar39;\n                      if (!bVar14) {\n                        lVar24 = 10;\n                        _Var31._M_p = reloc_name._M_dataplus._M_p;\n                        pbVar36 = (byte *)".eh_frame";\n                        do {\n                          if (lVar24 == 0) break;\n                          lVar24 = lVar24 + -1;\n                          bVar40 = (byte)*_Var31._M_p < *pbVar36;\n                          bVar14 = *_Var31._M_p == *pbVar36;\n                          _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                          pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                        } while (bVar14);\n                        bVar39 = false;\n                        bVar14 = (!bVar40 && !bVar14) == bVar40;\n                        if (!bVar14) {\n                          lVar24 = 0x12;\n                          _Var31._M_p = reloc_name._M_dataplus._M_p;\n                          pbVar36 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar24 == 0) break;\n                            lVar24 = lVar24 + -1;\n                            bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                            bVar14 = *_Var31._M_p == *pbVar36;\n                            _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                            pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                          } while (bVar14);\n                          if ((!bVar39 && !bVar14) != bVar39) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0030fdc0:\n                    /* try { // try from 0030fdd2 to 0030fdd6 has its CatchHandler @ 00310912 */\n            AVar17 = gold::Sized_relobj_file<32,_true>::map_to_kept_section\n                               (this_01,uVar30,&reloc_name,&found);\n            symval2.u_.value = 0;\n            if (found != false) {\n              symval2.u_.value = AVar17 + (pSVar38->u_).value;\n            }\n            iVar13 = 1;\n          }\n          else {\n            if (iVar13 == 1) goto LAB_0030fdc0;\n            if (iVar13 == 3) {\nLAB_0030ff50:\n              pSVar7 = relinfo->object;\n              if (pGVar21 == (General_options *)0x0) {\n                    /* try { // try from 003105ee to 0031061d has its CatchHandler @ 00310912 */\n                pcVar20 = gold::Sized_relobj_file<32,_true>::get_symbol_name(pSVar7,uVar37);\n                pcVar27 = (char *)gettext(\n                                         "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                         );\n                gold::gold_error_at_location<32,_true>\n                          (relinfo,(size_t)local_148,local_140,pcVar27,pcVar20,(ulong)uVar37);\n              }\n              else {\n                    /* try { // try from 0030ff70 to 0030ff74 has its CatchHandler @ 00310912 */\n                gold::Symbol::demangled_name((string *)&found,(Symbol *)pGVar21);\n                uVar23 = CONCAT71(uStack_77,found);\n                pcVar20 = (char *)gettext(\n                                         "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                         );\n                    /* try { // try from 0030ffa4 to 0030ffa8 has its CatchHandler @ 0031093c */\n                gold::gold_error_at_location<32,_true>\n                          (relinfo,(size_t)local_148,local_140,pcVar20,uVar23);\n                if ((undefined1 *)CONCAT71(uStack_77,found) != auStack_68) {\n                  operator_delete((undefined1 *)CONCAT71(uStack_77,found));\n                }\n              }\n                    /* try { // try from 0030ffd1 to 0030ffd5 has its CatchHandler @ 00310912 */\n              uVar37 = gold::Sized_relobj_file<32,_true>::symbol_section_and_value\n                                 (pSVar7,uVar37,&value,&is_ordinary);\n              if (uVar37 != 0) {\n                    /* try { // try from 00310544 to 0031057d has its CatchHandler @ 00310912 */\n                pRVar25 = gold::Sized_relobj_file<32,_true>::find_kept_section_object\n                                    (pSVar7,uVar37,&key_symndx);\n                if (key_symndx != 0) {\n                    /* try { // try from 00310725 to 00310745 has its CatchHandler @ 00310912 */\n                  pcVar20 = gold::Sized_relobj_file<32,_true>::get_symbol_name(pSVar7,key_symndx);\n                  pcVar27 = (char *)gettext("  section group signature: \"%s\"");\n                  gold::gold_info(pcVar27,pcVar20);\n                }\n                if (pRVar25 != (Relobj *)0x0) {\n                  pcVar11 = (pRVar25->super_Object).name_._M_dataplus._M_p;\n                  pcVar20 = (char *)gettext("  prevailing definition is from %s");\n                  gold::gold_info(pcVar20,pcVar11);\n                }\n              }\n              iVar13 = 3;\n            }\n            else {\nLAB_00310006:\n              iVar13 = 2;\n            }\n            symval2.u_.value = 0;\n          }\n          if (symval2.output_symtab_index_ != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310794 to 00310798 has its CatchHandler @ 00310912 */\n            gold::do_gold_unreachable("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\n          symval2.output_symtab_index_ = 0xffffffff;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)reloc_name._M_dataplus._M_p != &reloc_name.field_2) {\n            operator_delete(reloc_name._M_dataplus._M_p);\n          }\n          pSVar38 = &symval2;\n          if (-1 < (long)local_140) goto LAB_0030fae5;\nLAB_0030fe48:\n          pcVar20 = (char *)gettext("reloc has bad offset %zu");\n          pGVar21 = local_148;\n                    /* try { // try from 0030fe68 to 0030fe6c has its CatchHandler @ 00310922 */\n          gold::gold_error_at_location<32,_true>\n                    (relinfo,(size_t)local_148,local_140,pcVar20,local_140);\n          iVar19 = (int)pGVar21;\n        }\n        else {\n          if ((reloc_symbol_changes != (Reloc_symbol_changes *)0x0) &&\n             (pGVar21 = (General_options *)\n                        (reloc_symbol_changes->vec_).\n                        super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                        _M_start[(long)local_148], pGVar21 != (General_options *)0x0))\n          goto LAB_0030fa33;\n          if (uVar37 < this_01->local_symbol_count_) {\nLAB_003107a0:\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003107b3 to 003107ff has its CatchHandler @ 0031092a */\n            gold::do_gold_unreachable("../../gold/target-reloc.h",0x17f,"relocate_section");\n          }\n          ppSVar5 = (this_01->symbols_).\n                    super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                    _M_start;\n          uVar28 = (ulong)(uVar37 - this_01->local_symbol_count_);\n          if ((ulong)((long)(this_01->symbols_).\n                            super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n                            _M_impl._M_finish - (long)ppSVar5 >> 3) <= uVar28) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/object.h",0x8ad,"global_symbol");\n          }\n          pGVar21 = (General_options *)ppSVar5[uVar28];\n          if (pGVar21 == (General_options *)0x0) goto LAB_003107a0;\n          if (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring & 0x100000\n              ) == 0) goto LAB_0030fa33;\n                    /* try { // try from 0030fc40 to 0030fcb4 has its CatchHandler @ 0031092a */\n          pGVar21 = (General_options *)\n                    gold::Symbol_table::resolve_forwards(relinfo->symtab,(Symbol *)pGVar21);\n          uVar16 = *(uint *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                    longname.field_2 + 4);\n          uVar30 = uVar16 - 1;\n          if (uVar30 < 0xfffffffe) {\n            if ((symval.output_symtab_index_ != 0) && (symval.output_symtab_index_ != 0xfffffffe)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0031077c to 00310780 has its CatchHandler @ 0031092a */\n              gold::do_gold_unreachable("../../gold/object.h",0x70c,"set_output_symtab_index");\n            }\n            goto LAB_0030fcf0;\n          }\n          if (symval.output_symtab_index_ != 0) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\nLAB_0030fa42:\n          symval.output_symtab_index_ = 0xffffffff;\nLAB_0030fa4a:\n          symval.u_.value =\n               *(Value *)&(pGVar21->help_initializer_).super_Struct_special.option.helparg;\n          bVar29 = *(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                   0xf;\n          if (bVar29 == 6) {\n            symval._8_4_ = symval._8_4_ | 0x20000000;\n          }\n          else if (bVar29 == 10) {\n            symval._8_4_ = symval._8_4_ | 0x40000000;\n          }\n          bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                    helpstring + 3);\n          if ((char)bVar29 < '\0') {\n            pcVar20 = (pGVar21->help_initializer_).super_Struct_special.option.helpstring;\n            if (((ulong)pcVar20 & 0x70000) == 0) {\n              if ((*(uint *)&(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                             field_2 == 0) && ((bVar29 & 0x20) != 0)) {\nLAB_0030fd10:\n                pSVar38 = &symval;\n                uVar30 = 0;\n                goto LAB_0030fd25;\n              }\n            }\n            else if (((ulong)pcVar20 & 0x70000) == 0x40000) goto LAB_0030fd10;\n          }\n          pSVar38 = &symval;\nLAB_0030faa5:\n          symval2._8_4_ = 0x80000000;\n          symval2.output_symtab_index_ = 0;\n          symval2.output_dynsym_index_ = 0xffffffff;\n          symval2.u_.value = 0;\n          if ((long)local_140 < 0) goto LAB_0030fe48;\nLAB_0030fae5:\n          if ((view_size <= local_140) || (view + local_140 == (uchar *)0x0)) goto LAB_0030fe48;\n          uVar37 = local_120[1];\n          if (uVar37 >> 0x18 != 0) {\n            pcVar20 = (char *)gettext("Invalid/unrecognized reloc reloc %d.");\n                    /* try { // try from 0030fb3d to 0030fb59 has its CatchHandler @ 00310922 */\n            gold::gold_error(pcVar20,(ulong)(uVar37 >> 0x18));\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable\n                      ("../../gold/aarch64-reloc-property.h",0xeb,"code_to_array_index");\n          }\n          if (aarch64_reloc_property_table->table_[0] == (AArch64_reloc_property *)0x0) {\n                    /* try { // try from 003104dd to 003104e1 has its CatchHandler @ 00310922 */\n            gold::AArch64_reloc_property_table::reloc_name_in_error_message\n                      (&reloc_name,aarch64_reloc_property_table,0);\n            _Var31 = reloc_name._M_dataplus;\n            pcVar20 = (char *)gettext("cannot relocate %s in object file");\n            uVar37 = *local_120;\n            pGVar32 = local_148;\n                    /* try { // try from 00310510 to 00310514 has its CatchHandler @ 0031091a */\n            gold::gold_error_at_location<32,_true>\n                      (relinfo,(size_t)local_148,\n                       (ulong)(uVar37 >> 0x18 | (uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8 |\n                              uVar37 << 0x18),pcVar20,_Var31._M_p);\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)reloc_name._M_dataplus._M_p != &reloc_name.field_2) {\n              operator_delete(reloc_name._M_dataplus._M_p);\n            }\n          }\n          else {\n            pGVar32 = (General_options *)0x0;\n            pSVar7 = relinfo->object;\n            symval_1._8_4_ = 0x80000000;\n            symval_1.output_symtab_index_ = 0;\n            symval_1.output_dynsym_index_ = 0xffffffff;\n            symval_1.u_.value = 0;\n            if (pGVar21 == (General_options *)0x0) {\n              if ((pSVar38->field_0xb & 0x40) != 0) {\n                uVar37 = ((uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8 | uVar37 << 0x18) >> 8;\n                pGVar32 = (General_options *)(ulong)uVar37;\n                this_00 = pSVar7;\n                    /* try { // try from 00310475 to 003104bc has its CatchHandler @ 00310944 */\n                bVar14 = gold::Sized_relobj_file<32,_true>::local_has_plt_offset(pSVar7,uVar37);\n                if (bVar14) {\n                  pOVar10 = this->plt_;\n                  if (pOVar10 == (Output_data_plt_aarch64<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108c5 to 003108c9 has its CatchHandler @ 00310944 */\n                    plt_section((Target_aarch64<32,_true> *)this_00);\n                  }\n                  if (((pOVar10->super_Output_section_data).super_Output_data.field_0x20 & 1) == 0)\n                  {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108a8 to 003108ac has its CatchHandler @ 00310944 */\n                    gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar22 = (pOVar10->super_Output_section_data).super_Output_data.address_;\n                  uVar30 = pOVar10->count_;\n                  pGVar32 = (General_options *)(ulong)uVar37;\n                  iVar19 = (*(pSVar7->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                             _vptr_Object[0x2a])(pSVar7);\n                  symval_1.u_.value = (int)uVar22 + 0x20 + uVar30 * 0x10 + iVar19;\n                }\n              }\n            }\n            else {\n              uVar37 = aarch64_reloc_property_table->table_[0]->reference_flags_;\n              pGVar32 = (General_options *)(ulong)uVar37;\n                    /* try { // try from 003100df to 00310101 has its CatchHandler @ 00310944 */\n              bVar14 = gold::Symbol::use_plt_offset((Symbol *)pGVar21,uVar37);\n              if (bVar14) {\n                if (this->plt_ == (Output_data_plt_aarch64<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310800 to 00310804 has its CatchHandler @ 00310944 */\n                  plt_section((Target_aarch64<32,_true> *)0x0);\n                }\n                pGVar32 = pGVar21;\n                uVar22 = Output_data_plt_aarch64<32,_true>::address_for_global\n                                   (this->plt_,(Symbol *)pGVar21);\n                symval_1.u_.value = (Value)uVar22;\n              }\n            }\n            gold::Symbol_value<32>::~Symbol_value(&symval_1,(int)pGVar32);\n          }\n          iVar19 = (int)pGVar32;\n          if (pGVar21 != (General_options *)0x0) {\n            bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                      helpstring + 2);\n            bVar15 = bVar29 & 7;\n            if ((bVar29 & 7) == 0) {\n              if ((*(int *)&(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                            field_2 != 0) ||\n                 (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                  0x20000000) == 0)) {\n                pcVar8 = *(code **)(*(long *)(pGVar21->help_initializer_).super_Struct_special.\n                                             option.longname._M_string_length + 0x28);\n                if (pcVar8 != gold::Object::do_pluginobj) {\n                  lVar24 = (*pcVar8)();\n                  iVar19 = (int)pGVar32;\n                  if (lVar24 != 0) {\n                    bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 2);\n                    bVar15 = bVar29 & 7;\n                    if ((bVar29 & 7) == 0) {\n                      uVar37 = *(uint *)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                         longname.field_2;\n                      pGVar32 = (General_options *)(ulong)uVar37;\n                      bVar1 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                               option.helpstring + 3);\n                      if ((uVar37 == 0) && ((bVar1 & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)bVar1 < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar15 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 3)) goto LAB_00310305;\n                    bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 1);\n                    if ((bVar15 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }\nLAB_0031015a:\n                bVar1 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                         helpstring + 1);\n                bVar29 = bVar29 & 7;\n                bVar15 = bVar1 & 3;\n                if ((bVar1 & 3) == 0) goto LAB_003101c0;\nLAB_00310166:\n                if (((*(int *)&(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                               field_2 == 0) &&\n                    (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                     0x20000000) != 0)) &&\n                   ((*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring\n                     >> 4 != 2 &&\n                    (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                     0x200000000) == 0)))) {\nLAB_00310293:\n                  if (gold::parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108dd to 003108e1 has its CatchHandler @ 00310922 */\n                    gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if ((gold::parameters->options_->weak_unresolved_symbols_).value != false) {\n                    if (bVar29 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)((pGVar21->help_initializer_).super_Struct_special.option.longname.\n                                 _M_string_length + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }\n                if (bVar15 == 2) {\n                  uVar23 = gettext("hidden");\n                }\n                else if (bVar15 < 3) {\n                  if (bVar15 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    gold::do_gold_unreachable("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar23 = gettext("internal");\n                }\n                else {\n                  uVar23 = gettext("protected");\n                }\n                pp_Var2 = (pGVar21->help_initializer_).super_Struct_special.super_Struct_var.\n                          _vptr_Struct_var;\n                pcVar20 = (char *)gettext("%s symbol \'%s\' is not defined locally");\n                    /* try { // try from 003101b4 to 0031042c has its CatchHandler @ 00310922 */\n                gold::gold_error(pcVar20,uVar23,pp_Var2);\n                iVar19 = (int)uVar23;\n                goto LAB_003101c0;\n              }\nLAB_0031020c:\n              if ((*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring >>\n                   4 == 2) ||\n                 (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                  0x200000000) != 0)) {\nLAB_00310438:\n                iVar19 = (int)pGVar32;\n                bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 1) & 3;\nLAB_0031043f:\n                if (bVar15 == 0) goto LAB_003101c0;\n                bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 2) & 7;\n                if (bVar29 != 0) goto LAB_00310270;\n                goto LAB_00310166;\n              }\n              pGVar32 = gold::parameters->options_;\n              if (pGVar32 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310878 to 0031087c has its CatchHandler @ 00310922 */\n                gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((pGVar32->weak_unresolved_symbols_).value != false) goto LAB_00310438;\n              if (*(char *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                   helpstring + 3) < '\0') {\n                if (bVar15 != 0) goto LAB_00310260;\nLAB_003105b8:\n                iVar19 = (int)pGVar32;\n                pcVar8 = *(code **)(*(long *)(pGVar21->help_initializer_).super_Struct_special.\n                                             option.longname._M_string_length + 0x28);\n                if (pcVar8 == gold::Object::do_pluginobj) goto LAB_0031015a;\n                    /* try { // try from 003105cc to 003105cd has its CatchHandler @ 00310922 */\n                lVar24 = (*pcVar8)();\n                if (lVar24 == 0) goto LAB_00310438;\n              }\nLAB_00310305:\n              iVar19 = (int)pGVar32;\n              if (gold::parameters->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310818 to 0031084c has its CatchHandler @ 00310922 */\n                gold::do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n              }\n              p_Var3 = gold::parameters->target_->_vptr_Target[7];\n              if (p_Var3 != gold::Target::do_is_defined_by_abi) {\n                pGVar32 = pGVar21;\n                iVar18 = (*p_Var3)();\n                iVar19 = (int)pGVar32;\n                if ((char)iVar18 != '\0') goto LAB_00310438;\n              }\n              pGVar9 = gold::parameters->options_;\n              if (pGVar9 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              pGVar34 = (General_options *)(pGVar9->unresolved_symbols_).value;\n              bVar14 = false;\n              bVar40 = pGVar34 == (General_options *)0x0;\n              if (bVar40) {\n                bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 1) & 3;\nLAB_003103c9:\n                if ((bVar15 == 2) ||\n                   (((pGVar9->shared_).value == false || ((pGVar9->defs_).value != false))))\n                goto LAB_003103e1;\n                goto LAB_0031043f;\n              }\n              lVar24 = 0xb;\n              pGVar33 = pGVar34;\n              pbVar36 = (byte *)"ignore-all";\n              do {\n                pGVar32 = pGVar33;\n                if (lVar24 == 0) break;\n                lVar24 = lVar24 + -1;\n                pGVar32 = (General_options *)((long)pGVar33 + (ulong)bVar41 * -2 + 1);\n                bVar29 = *(byte *)&(pGVar33->help_initializer_).super_Struct_special.\n                                   super_Struct_var._vptr_Struct_var;\n                bVar14 = bVar29 < *pbVar36;\n                bVar40 = bVar29 == *pbVar36;\n                pGVar33 = pGVar32;\n                pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n              } while (bVar40);\n              bVar39 = false;\n              bVar14 = (!bVar14 && !bVar40) == bVar14;\n              if (bVar14) goto LAB_00310438;\n              lVar24 = 0xb;\n              pGVar32 = pGVar34;\n              pbVar36 = (byte *)"report-all";\n              do {\n                if (lVar24 == 0) break;\n                lVar24 = lVar24 + -1;\n                bVar29 = *(byte *)&(pGVar32->help_initializer_).super_Struct_special.\n                                   super_Struct_var._vptr_Struct_var;\n                bVar39 = bVar29 < *pbVar36;\n                bVar14 = bVar29 == *pbVar36;\n                pGVar32 = (General_options *)((long)pGVar32 + (ulong)bVar41 * -2 + 1);\n                pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n              } while (bVar14);\n              bVar40 = false;\n              bVar14 = (!bVar39 && !bVar14) == bVar39;\n              if (!bVar14) {\n                lVar24 = 0x17;\n                pGVar32 = pGVar34;\n                pbVar36 = (byte *)"ignore-in-object-files";\n                do {\n                  pGVar33 = pGVar32;\n                  if (lVar24 == 0) break;\n                  lVar24 = lVar24 + -1;\n                  pGVar33 = (General_options *)((long)pGVar32 + (ulong)bVar41 * -2 + 1);\n                  bVar29 = *(byte *)&(pGVar32->help_initializer_).super_Struct_special.\n                                     super_Struct_var._vptr_Struct_var;\n                  bVar40 = bVar29 < *pbVar36;\n                  bVar14 = bVar29 == *pbVar36;\n                  pGVar32 = pGVar33;\n                  pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                } while (bVar14);\n                iVar19 = (int)pGVar33;\n                bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 1) & 3;\n                bVar14 = (!bVar40 && !bVar14) == bVar40;\n                if ((!bVar14) ||\n                   (bVar14 = ((ulong)(pGVar21->help_initializer_).super_Struct_special.option.\n                                     helpstring & 0x1000000) == 0, !bVar14)) {\n                  bVar40 = false;\n                  lVar24 = 0x16;\n                  pbVar36 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    pGVar32 = pGVar34;\n                    if (lVar24 == 0) break;\n                    lVar24 = lVar24 + -1;\n                    pGVar32 = (General_options *)((long)pGVar34 + (ulong)bVar41 * -2 + 1);\n                    bVar29 = *(byte *)&(pGVar34->help_initializer_).super_Struct_special.\n                                       super_Struct_var._vptr_Struct_var;\n                    bVar40 = bVar29 < *pbVar36;\n                    bVar14 = bVar29 == *pbVar36;\n                    pGVar34 = pGVar32;\n                    pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                  } while (bVar14);\n                  iVar19 = (int)pGVar32;\n                  if (((!bVar40 && !bVar14) != bVar40) ||\n                     (*(char *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                       helpstring + 2) < '\0')) goto LAB_003103c9;\n                }\n                goto LAB_0031043f;\n              }\nLAB_003103e1:\n              pRVar35 = relinfo;\n              gold::gold_undefined_symbol_at_location<32,_true>\n                        ((Symbol *)pGVar21,relinfo,(size_t)local_148,local_140);\n              iVar19 = (int)pRVar35;\n              bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                        helpstring + 3);\n            }\n            else {\n              if (bVar15 == 4) goto LAB_0031020c;\nLAB_00310260:\n              iVar19 = (int)pGVar32;\n              bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                        helpstring + 1);\n              if ((bVar15 & 3) != 0) {\nLAB_0031026d:\n                bVar15 = bVar15 & 3;\n                bVar29 = bVar29 & 7;\nLAB_00310270:\n                if (((bVar29 == 4) &&\n                    (*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring\n                     >> 4 != 2)) &&\n                   (bVar29 = 4,\n                   ((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                   0x200000000) == 0)) goto LAB_00310293;\n              }\nLAB_003101c0:\n              bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                        helpstring + 3);\n            }\n            if ((bVar29 & 4) != 0) {\n              gold::Warnings::issue_warning<32,_true>\n                        (&relinfo->symtab->warnings_,(Symbol *)pGVar21,relinfo,(size_t)local_148,\n                         local_140);\n              iVar19 = (int)pGVar21;\n            }\n          }\n        }\n        local_138 = &symval;\n        gold::Symbol_value<32>::~Symbol_value(&symval2,iVar19);\n        gold::Symbol_value<32>::~Symbol_value(local_138,iVar19);\n      }\n      local_148 = (General_options *)\n                  ((long)&(local_148->help_initializer_).super_Struct_special.super_Struct_var.\n                          _vptr_Struct_var + 1);\n      local_120 = local_120 + 3;\n    }" { (expression_statement "uVar37 = *local_120;" (assignment_expression "uVar37 = *local_120" identifier = (pointer_expression "*local_120" * identifier)) ;) (expression_statement "local_140 = (ulong)(uVar37 >> 0x18 | (uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8 |\n                         uVar37 << 0x18);" (assignment_expression "local_140 = (ulong)(uVar37 >> 0x18 | (uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8 |\n                         uVar37 << 0x18)" identifier = (call_expression "(ulong)(uVar37 >> 0x18 | (uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8 |\n                         uVar37 << 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar37 >> 0x18 | (uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8 |\n                         uVar37 << 0x18)" ( (binary_expression "uVar37 >> 0x18 | (uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8 |\n                         uVar37 << 0x18" (binary_expression "uVar37 >> 0x18 | (uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8" (binary_expression "uVar37 >> 0x18 | (uVar37 & 0xff0000) >> 8" (binary_expression "uVar37 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar37 & 0xff0000) >> 8" (parenthesized_expression "(uVar37 & 0xff0000)" ( (binary_expression "uVar37 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar37 & 0xff00) << 8" (parenthesized_expression "(uVar37 & 0xff00)" ( (binary_expression "uVar37 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar37 << 0x18" identifier << number_literal)) )))) ;) (if_statement "if ((!needs_special_offset_handling) ||\n         (local_140 = gold::Output_section::output_offset\n                                (output_section,(Relobj *)relinfo->object,relinfo->data_shndx,\n                                 local_140), local_140 != 0xffffffffffffffff)) {\n        symval._8_4_ = 0x80000000;\n        symval.u_.value = 0;\n        uVar37 = local_120[1];\n        symval.output_symtab_index_ = 0;\n        symval.output_dynsym_index_ = 0xffffffff;\n        uVar37 = ((uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8 | uVar37 << 0x18) >> 8;\n        if (uVar37 < local_ec) {\n          if ((reloc_symbol_changes != (Reloc_symbol_changes *)0x0) &&\n             (pGVar21 = (General_options *)\n                        (reloc_symbol_changes->vec_).\n                        super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                        _M_start[(long)local_148], pGVar21 != (General_options *)0x0)) {\nLAB_0030fa33:\n            uVar16 = *(uint *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                      longname.field_2 + 4);\n            uVar30 = uVar16 - 1;\n            if (0xfffffffd < uVar30) goto LAB_0030fa42;\nLAB_0030fcf0:\n            if (uVar30 == 0xfffffffd) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/object.h",0x70d,"set_output_symtab_index");\n            }\n            symval.output_symtab_index_ = uVar16;\n            goto LAB_0030fa4a;\n          }\n          pSVar4 = (this_01->local_values_).\n                   super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                   ._M_impl._M_start;\n          if ((ulong)(((long)(this_01->local_values_).\n                             super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                             ._M_impl._M_finish - (long)pSVar4 >> 3) * -0x5555555555555555) <=\n              (ulong)uVar37) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/object.h",0x8c1,"local_symbol");\n          }\n          pSVar38 = pSVar4 + uVar37;\n          uVar16 = *(uint *)&pSVar38->field_0x8 & 0x7ffffff;\n          uVar30 = *(uint *)&pSVar38->field_0x8 & 0x7ffffff;\n          if (((pSVar38->field_0xb & 8) == 0) || (uVar16 == 0)) {\nLAB_0030fbb3:\n            pGVar21 = (General_options *)0x0;\n            goto LAB_0030faa5;\n          }\n          ppOVar6 = (this_01->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n          if ((ulong)((long)(this_01->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (long)ppOVar6 >> 3) <= (ulong)uVar16) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310860 to 00310864 has its CatchHandler @ 0031092a */\n            gold::do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (ppOVar6[uVar16] != (Output_section *)0x0) goto LAB_0030fbb3;\n          bVar14 = gold::Symbol_table::is_section_folded(relinfo->symtab,(Relobj *)this_01,uVar30);\n          pGVar21 = (General_options *)0x0;\n          if (bVar14) {\n            pGVar21 = (General_options *)0x0;\n            goto LAB_0030faa5;\n          }\nLAB_0030fd25:\n          symval2._8_4_ = 0x80000000;\n          symval2.output_symtab_index_ = 0;\n          symval2.output_dynsym_index_ = 0xffffffff;\n          symval2.u_.value = 0;\n          p_Var3 = (this_01->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object\n                   [0x10];\n          if (p_Var3 == gold::Sized_relobj_file<32,_true>::do_section_name) {\n                    /* try { // try from 0030fd86 to 0030fd8a has its CatchHandler @ 00310922 */\n            elfcpp::Elf_file<32,_true,_gold::Object>::section_name\n                      (&reloc_name,&this_01->elf_file_,relinfo->data_shndx);\n          }\n          else {\n                    /* try { // try from 00310038 to 00310039 has its CatchHandler @ 00310922 */\n            (*p_Var3)(&reloc_name,this_01);\n          }\n          bVar14 = false;\n          bVar40 = iVar13 == 0;\n          if (bVar40) {\n            lVar24 = 6;\n            _Var31._M_p = reloc_name._M_dataplus._M_p;\n            pbVar36 = &DAT_00533552;\n            do {\n              if (lVar24 == 0) break;\n              lVar24 = lVar24 + -1;\n              bVar14 = (byte)*_Var31._M_p < *pbVar36;\n              bVar40 = *_Var31._M_p == *pbVar36;\n              _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n              pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n            } while (bVar40);\n            bVar39 = false;\n            bVar14 = (!bVar14 && !bVar40) == bVar14;\n            if (!bVar14) {\n              lVar24 = 7;\n              _Var31._M_p = reloc_name._M_dataplus._M_p;\n              pbVar36 = (byte *)".zdebug";\n              do {\n                if (lVar24 == 0) break;\n                lVar24 = lVar24 + -1;\n                bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                bVar14 = *_Var31._M_p == *pbVar36;\n                _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n              } while (bVar14);\n              bVar40 = false;\n              bVar14 = (!bVar39 && !bVar14) == bVar39;\n              if (!bVar14) {\n                lVar24 = 0x11;\n                _Var31._M_p = reloc_name._M_dataplus._M_p;\n                pbVar36 = (byte *)".gnu.linkonce.wi.";\n                do {\n                  if (lVar24 == 0) break;\n                  lVar24 = lVar24 + -1;\n                  bVar40 = (byte)*_Var31._M_p < *pbVar36;\n                  bVar14 = *_Var31._M_p == *pbVar36;\n                  _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                  pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                } while (bVar14);\n                bVar39 = false;\n                bVar14 = (!bVar40 && !bVar14) == bVar40;\n                if (!bVar14) {\n                  lVar24 = 5;\n                  _Var31._M_p = reloc_name._M_dataplus._M_p;\n                  pbVar36 = (byte *)".line";\n                  do {\n                    if (lVar24 == 0) break;\n                    lVar24 = lVar24 + -1;\n                    bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                    bVar14 = *_Var31._M_p == *pbVar36;\n                    _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                    pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                  } while (bVar14);\n                  bVar40 = false;\n                  bVar14 = (!bVar39 && !bVar14) == bVar39;\n                  if (!bVar14) {\n                    lVar24 = 5;\n                    _Var31._M_p = reloc_name._M_dataplus._M_p;\n                    pbVar36 = (byte *)".stab";\n                    do {\n                      if (lVar24 == 0) break;\n                      lVar24 = lVar24 + -1;\n                      bVar40 = (byte)*_Var31._M_p < *pbVar36;\n                      bVar14 = *_Var31._M_p == *pbVar36;\n                      _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                      pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                    } while (bVar14);\n                    bVar39 = false;\n                    bVar14 = (!bVar40 && !bVar14) == bVar40;\n                    if (!bVar14) {\n                      lVar24 = 4;\n                      _Var31._M_p = reloc_name._M_dataplus._M_p;\n                      pbVar36 = &DAT_0053357f;\n                      do {\n                        if (lVar24 == 0) break;\n                        lVar24 = lVar24 + -1;\n                        bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                        bVar14 = *_Var31._M_p == *pbVar36;\n                        _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                        pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                      } while (bVar14);\n                      bVar40 = false;\n                      bVar14 = (!bVar39 && !bVar14) == bVar39;\n                      if (!bVar14) {\n                        lVar24 = 10;\n                        _Var31._M_p = reloc_name._M_dataplus._M_p;\n                        pbVar36 = (byte *)".eh_frame";\n                        do {\n                          if (lVar24 == 0) break;\n                          lVar24 = lVar24 + -1;\n                          bVar40 = (byte)*_Var31._M_p < *pbVar36;\n                          bVar14 = *_Var31._M_p == *pbVar36;\n                          _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                          pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                        } while (bVar14);\n                        bVar39 = false;\n                        bVar14 = (!bVar40 && !bVar14) == bVar40;\n                        if (!bVar14) {\n                          lVar24 = 0x12;\n                          _Var31._M_p = reloc_name._M_dataplus._M_p;\n                          pbVar36 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar24 == 0) break;\n                            lVar24 = lVar24 + -1;\n                            bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                            bVar14 = *_Var31._M_p == *pbVar36;\n                            _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                            pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                          } while (bVar14);\n                          if ((!bVar39 && !bVar14) != bVar39) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0030fdc0:\n                    /* try { // try from 0030fdd2 to 0030fdd6 has its CatchHandler @ 00310912 */\n            AVar17 = gold::Sized_relobj_file<32,_true>::map_to_kept_section\n                               (this_01,uVar30,&reloc_name,&found);\n            symval2.u_.value = 0;\n            if (found != false) {\n              symval2.u_.value = AVar17 + (pSVar38->u_).value;\n            }\n            iVar13 = 1;\n          }\n          else {\n            if (iVar13 == 1) goto LAB_0030fdc0;\n            if (iVar13 == 3) {\nLAB_0030ff50:\n              pSVar7 = relinfo->object;\n              if (pGVar21 == (General_options *)0x0) {\n                    /* try { // try from 003105ee to 0031061d has its CatchHandler @ 00310912 */\n                pcVar20 = gold::Sized_relobj_file<32,_true>::get_symbol_name(pSVar7,uVar37);\n                pcVar27 = (char *)gettext(\n                                         "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                         );\n                gold::gold_error_at_location<32,_true>\n                          (relinfo,(size_t)local_148,local_140,pcVar27,pcVar20,(ulong)uVar37);\n              }\n              else {\n                    /* try { // try from 0030ff70 to 0030ff74 has its CatchHandler @ 00310912 */\n                gold::Symbol::demangled_name((string *)&found,(Symbol *)pGVar21);\n                uVar23 = CONCAT71(uStack_77,found);\n                pcVar20 = (char *)gettext(\n                                         "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                         );\n                    /* try { // try from 0030ffa4 to 0030ffa8 has its CatchHandler @ 0031093c */\n                gold::gold_error_at_location<32,_true>\n                          (relinfo,(size_t)local_148,local_140,pcVar20,uVar23);\n                if ((undefined1 *)CONCAT71(uStack_77,found) != auStack_68) {\n                  operator_delete((undefined1 *)CONCAT71(uStack_77,found));\n                }\n              }\n                    /* try { // try from 0030ffd1 to 0030ffd5 has its CatchHandler @ 00310912 */\n              uVar37 = gold::Sized_relobj_file<32,_true>::symbol_section_and_value\n                                 (pSVar7,uVar37,&value,&is_ordinary);\n              if (uVar37 != 0) {\n                    /* try { // try from 00310544 to 0031057d has its CatchHandler @ 00310912 */\n                pRVar25 = gold::Sized_relobj_file<32,_true>::find_kept_section_object\n                                    (pSVar7,uVar37,&key_symndx);\n                if (key_symndx != 0) {\n                    /* try { // try from 00310725 to 00310745 has its CatchHandler @ 00310912 */\n                  pcVar20 = gold::Sized_relobj_file<32,_true>::get_symbol_name(pSVar7,key_symndx);\n                  pcVar27 = (char *)gettext("  section group signature: \"%s\"");\n                  gold::gold_info(pcVar27,pcVar20);\n                }\n                if (pRVar25 != (Relobj *)0x0) {\n                  pcVar11 = (pRVar25->super_Object).name_._M_dataplus._M_p;\n                  pcVar20 = (char *)gettext("  prevailing definition is from %s");\n                  gold::gold_info(pcVar20,pcVar11);\n                }\n              }\n              iVar13 = 3;\n            }\n            else {\nLAB_00310006:\n              iVar13 = 2;\n            }\n            symval2.u_.value = 0;\n          }\n          if (symval2.output_symtab_index_ != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310794 to 00310798 has its CatchHandler @ 00310912 */\n            gold::do_gold_unreachable("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\n          symval2.output_symtab_index_ = 0xffffffff;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)reloc_name._M_dataplus._M_p != &reloc_name.field_2) {\n            operator_delete(reloc_name._M_dataplus._M_p);\n          }\n          pSVar38 = &symval2;\n          if (-1 < (long)local_140) goto LAB_0030fae5;\nLAB_0030fe48:\n          pcVar20 = (char *)gettext("reloc has bad offset %zu");\n          pGVar21 = local_148;\n                    /* try { // try from 0030fe68 to 0030fe6c has its CatchHandler @ 00310922 */\n          gold::gold_error_at_location<32,_true>\n                    (relinfo,(size_t)local_148,local_140,pcVar20,local_140);\n          iVar19 = (int)pGVar21;\n        }\n        else {\n          if ((reloc_symbol_changes != (Reloc_symbol_changes *)0x0) &&\n             (pGVar21 = (General_options *)\n                        (reloc_symbol_changes->vec_).\n                        super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                        _M_start[(long)local_148], pGVar21 != (General_options *)0x0))\n          goto LAB_0030fa33;\n          if (uVar37 < this_01->local_symbol_count_) {\nLAB_003107a0:\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003107b3 to 003107ff has its CatchHandler @ 0031092a */\n            gold::do_gold_unreachable("../../gold/target-reloc.h",0x17f,"relocate_section");\n          }\n          ppSVar5 = (this_01->symbols_).\n                    super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                    _M_start;\n          uVar28 = (ulong)(uVar37 - this_01->local_symbol_count_);\n          if ((ulong)((long)(this_01->symbols_).\n                            super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n                            _M_impl._M_finish - (long)ppSVar5 >> 3) <= uVar28) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/object.h",0x8ad,"global_symbol");\n          }\n          pGVar21 = (General_options *)ppSVar5[uVar28];\n          if (pGVar21 == (General_options *)0x0) goto LAB_003107a0;\n          if (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring & 0x100000\n              ) == 0) goto LAB_0030fa33;\n                    /* try { // try from 0030fc40 to 0030fcb4 has its CatchHandler @ 0031092a */\n          pGVar21 = (General_options *)\n                    gold::Symbol_table::resolve_forwards(relinfo->symtab,(Symbol *)pGVar21);\n          uVar16 = *(uint *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                    longname.field_2 + 4);\n          uVar30 = uVar16 - 1;\n          if (uVar30 < 0xfffffffe) {\n            if ((symval.output_symtab_index_ != 0) && (symval.output_symtab_index_ != 0xfffffffe)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0031077c to 00310780 has its CatchHandler @ 0031092a */\n              gold::do_gold_unreachable("../../gold/object.h",0x70c,"set_output_symtab_index");\n            }\n            goto LAB_0030fcf0;\n          }\n          if (symval.output_symtab_index_ != 0) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\nLAB_0030fa42:\n          symval.output_symtab_index_ = 0xffffffff;\nLAB_0030fa4a:\n          symval.u_.value =\n               *(Value *)&(pGVar21->help_initializer_).super_Struct_special.option.helparg;\n          bVar29 = *(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                   0xf;\n          if (bVar29 == 6) {\n            symval._8_4_ = symval._8_4_ | 0x20000000;\n          }\n          else if (bVar29 == 10) {\n            symval._8_4_ = symval._8_4_ | 0x40000000;\n          }\n          bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                    helpstring + 3);\n          if ((char)bVar29 < '\0') {\n            pcVar20 = (pGVar21->help_initializer_).super_Struct_special.option.helpstring;\n            if (((ulong)pcVar20 & 0x70000) == 0) {\n              if ((*(uint *)&(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                             field_2 == 0) && ((bVar29 & 0x20) != 0)) {\nLAB_0030fd10:\n                pSVar38 = &symval;\n                uVar30 = 0;\n                goto LAB_0030fd25;\n              }\n            }\n            else if (((ulong)pcVar20 & 0x70000) == 0x40000) goto LAB_0030fd10;\n          }\n          pSVar38 = &symval;\nLAB_0030faa5:\n          symval2._8_4_ = 0x80000000;\n          symval2.output_symtab_index_ = 0;\n          symval2.output_dynsym_index_ = 0xffffffff;\n          symval2.u_.value = 0;\n          if ((long)local_140 < 0) goto LAB_0030fe48;\nLAB_0030fae5:\n          if ((view_size <= local_140) || (view + local_140 == (uchar *)0x0)) goto LAB_0030fe48;\n          uVar37 = local_120[1];\n          if (uVar37 >> 0x18 != 0) {\n            pcVar20 = (char *)gettext("Invalid/unrecognized reloc reloc %d.");\n                    /* try { // try from 0030fb3d to 0030fb59 has its CatchHandler @ 00310922 */\n            gold::gold_error(pcVar20,(ulong)(uVar37 >> 0x18));\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable\n                      ("../../gold/aarch64-reloc-property.h",0xeb,"code_to_array_index");\n          }\n          if (aarch64_reloc_property_table->table_[0] == (AArch64_reloc_property *)0x0) {\n                    /* try { // try from 003104dd to 003104e1 has its CatchHandler @ 00310922 */\n            gold::AArch64_reloc_property_table::reloc_name_in_error_message\n                      (&reloc_name,aarch64_reloc_property_table,0);\n            _Var31 = reloc_name._M_dataplus;\n            pcVar20 = (char *)gettext("cannot relocate %s in object file");\n            uVar37 = *local_120;\n            pGVar32 = local_148;\n                    /* try { // try from 00310510 to 00310514 has its CatchHandler @ 0031091a */\n            gold::gold_error_at_location<32,_true>\n                      (relinfo,(size_t)local_148,\n                       (ulong)(uVar37 >> 0x18 | (uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8 |\n                              uVar37 << 0x18),pcVar20,_Var31._M_p);\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)reloc_name._M_dataplus._M_p != &reloc_name.field_2) {\n              operator_delete(reloc_name._M_dataplus._M_p);\n            }\n          }\n          else {\n            pGVar32 = (General_options *)0x0;\n            pSVar7 = relinfo->object;\n            symval_1._8_4_ = 0x80000000;\n            symval_1.output_symtab_index_ = 0;\n            symval_1.output_dynsym_index_ = 0xffffffff;\n            symval_1.u_.value = 0;\n            if (pGVar21 == (General_options *)0x0) {\n              if ((pSVar38->field_0xb & 0x40) != 0) {\n                uVar37 = ((uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8 | uVar37 << 0x18) >> 8;\n                pGVar32 = (General_options *)(ulong)uVar37;\n                this_00 = pSVar7;\n                    /* try { // try from 00310475 to 003104bc has its CatchHandler @ 00310944 */\n                bVar14 = gold::Sized_relobj_file<32,_true>::local_has_plt_offset(pSVar7,uVar37);\n                if (bVar14) {\n                  pOVar10 = this->plt_;\n                  if (pOVar10 == (Output_data_plt_aarch64<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108c5 to 003108c9 has its CatchHandler @ 00310944 */\n                    plt_section((Target_aarch64<32,_true> *)this_00);\n                  }\n                  if (((pOVar10->super_Output_section_data).super_Output_data.field_0x20 & 1) == 0)\n                  {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108a8 to 003108ac has its CatchHandler @ 00310944 */\n                    gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar22 = (pOVar10->super_Output_section_data).super_Output_data.address_;\n                  uVar30 = pOVar10->count_;\n                  pGVar32 = (General_options *)(ulong)uVar37;\n                  iVar19 = (*(pSVar7->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                             _vptr_Object[0x2a])(pSVar7);\n                  symval_1.u_.value = (int)uVar22 + 0x20 + uVar30 * 0x10 + iVar19;\n                }\n              }\n            }\n            else {\n              uVar37 = aarch64_reloc_property_table->table_[0]->reference_flags_;\n              pGVar32 = (General_options *)(ulong)uVar37;\n                    /* try { // try from 003100df to 00310101 has its CatchHandler @ 00310944 */\n              bVar14 = gold::Symbol::use_plt_offset((Symbol *)pGVar21,uVar37);\n              if (bVar14) {\n                if (this->plt_ == (Output_data_plt_aarch64<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310800 to 00310804 has its CatchHandler @ 00310944 */\n                  plt_section((Target_aarch64<32,_true> *)0x0);\n                }\n                pGVar32 = pGVar21;\n                uVar22 = Output_data_plt_aarch64<32,_true>::address_for_global\n                                   (this->plt_,(Symbol *)pGVar21);\n                symval_1.u_.value = (Value)uVar22;\n              }\n            }\n            gold::Symbol_value<32>::~Symbol_value(&symval_1,(int)pGVar32);\n          }\n          iVar19 = (int)pGVar32;\n          if (pGVar21 != (General_options *)0x0) {\n            bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                      helpstring + 2);\n            bVar15 = bVar29 & 7;\n            if ((bVar29 & 7) == 0) {\n              if ((*(int *)&(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                            field_2 != 0) ||\n                 (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                  0x20000000) == 0)) {\n                pcVar8 = *(code **)(*(long *)(pGVar21->help_initializer_).super_Struct_special.\n                                             option.longname._M_string_length + 0x28);\n                if (pcVar8 != gold::Object::do_pluginobj) {\n                  lVar24 = (*pcVar8)();\n                  iVar19 = (int)pGVar32;\n                  if (lVar24 != 0) {\n                    bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 2);\n                    bVar15 = bVar29 & 7;\n                    if ((bVar29 & 7) == 0) {\n                      uVar37 = *(uint *)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                         longname.field_2;\n                      pGVar32 = (General_options *)(ulong)uVar37;\n                      bVar1 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                               option.helpstring + 3);\n                      if ((uVar37 == 0) && ((bVar1 & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)bVar1 < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar15 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 3)) goto LAB_00310305;\n                    bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 1);\n                    if ((bVar15 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }\nLAB_0031015a:\n                bVar1 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                         helpstring + 1);\n                bVar29 = bVar29 & 7;\n                bVar15 = bVar1 & 3;\n                if ((bVar1 & 3) == 0) goto LAB_003101c0;\nLAB_00310166:\n                if (((*(int *)&(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                               field_2 == 0) &&\n                    (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                     0x20000000) != 0)) &&\n                   ((*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring\n                     >> 4 != 2 &&\n                    (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                     0x200000000) == 0)))) {\nLAB_00310293:\n                  if (gold::parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108dd to 003108e1 has its CatchHandler @ 00310922 */\n                    gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if ((gold::parameters->options_->weak_unresolved_symbols_).value != false) {\n                    if (bVar29 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)((pGVar21->help_initializer_).super_Struct_special.option.longname.\n                                 _M_string_length + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }\n                if (bVar15 == 2) {\n                  uVar23 = gettext("hidden");\n                }\n                else if (bVar15 < 3) {\n                  if (bVar15 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    gold::do_gold_unreachable("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar23 = gettext("internal");\n                }\n                else {\n                  uVar23 = gettext("protected");\n                }\n                pp_Var2 = (pGVar21->help_initializer_).super_Struct_special.super_Struct_var.\n                          _vptr_Struct_var;\n                pcVar20 = (char *)gettext("%s symbol \'%s\' is not defined locally");\n                    /* try { // try from 003101b4 to 0031042c has its CatchHandler @ 00310922 */\n                gold::gold_error(pcVar20,uVar23,pp_Var2);\n                iVar19 = (int)uVar23;\n                goto LAB_003101c0;\n              }\nLAB_0031020c:\n              if ((*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring >>\n                   4 == 2) ||\n                 (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                  0x200000000) != 0)) {\nLAB_00310438:\n                iVar19 = (int)pGVar32;\n                bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 1) & 3;\nLAB_0031043f:\n                if (bVar15 == 0) goto LAB_003101c0;\n                bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 2) & 7;\n                if (bVar29 != 0) goto LAB_00310270;\n                goto LAB_00310166;\n              }\n              pGVar32 = gold::parameters->options_;\n              if (pGVar32 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310878 to 0031087c has its CatchHandler @ 00310922 */\n                gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((pGVar32->weak_unresolved_symbols_).value != false) goto LAB_00310438;\n              if (*(char *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                   helpstring + 3) < '\0') {\n                if (bVar15 != 0) goto LAB_00310260;\nLAB_003105b8:\n                iVar19 = (int)pGVar32;\n                pcVar8 = *(code **)(*(long *)(pGVar21->help_initializer_).super_Struct_special.\n                                             option.longname._M_string_length + 0x28);\n                if (pcVar8 == gold::Object::do_pluginobj) goto LAB_0031015a;\n                    /* try { // try from 003105cc to 003105cd has its CatchHandler @ 00310922 */\n                lVar24 = (*pcVar8)();\n                if (lVar24 == 0) goto LAB_00310438;\n              }\nLAB_00310305:\n              iVar19 = (int)pGVar32;\n              if (gold::parameters->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310818 to 0031084c has its CatchHandler @ 00310922 */\n                gold::do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n              }\n              p_Var3 = gold::parameters->target_->_vptr_Target[7];\n              if (p_Var3 != gold::Target::do_is_defined_by_abi) {\n                pGVar32 = pGVar21;\n                iVar18 = (*p_Var3)();\n                iVar19 = (int)pGVar32;\n                if ((char)iVar18 != '\0') goto LAB_00310438;\n              }\n              pGVar9 = gold::parameters->options_;\n              if (pGVar9 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              pGVar34 = (General_options *)(pGVar9->unresolved_symbols_).value;\n              bVar14 = false;\n              bVar40 = pGVar34 == (General_options *)0x0;\n              if (bVar40) {\n                bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 1) & 3;\nLAB_003103c9:\n                if ((bVar15 == 2) ||\n                   (((pGVar9->shared_).value == false || ((pGVar9->defs_).value != false))))\n                goto LAB_003103e1;\n                goto LAB_0031043f;\n              }\n              lVar24 = 0xb;\n              pGVar33 = pGVar34;\n              pbVar36 = (byte *)"ignore-all";\n              do {\n                pGVar32 = pGVar33;\n                if (lVar24 == 0) break;\n                lVar24 = lVar24 + -1;\n                pGVar32 = (General_options *)((long)pGVar33 + (ulong)bVar41 * -2 + 1);\n                bVar29 = *(byte *)&(pGVar33->help_initializer_).super_Struct_special.\n                                   super_Struct_var._vptr_Struct_var;\n                bVar14 = bVar29 < *pbVar36;\n                bVar40 = bVar29 == *pbVar36;\n                pGVar33 = pGVar32;\n                pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n              } while (bVar40);\n              bVar39 = false;\n              bVar14 = (!bVar14 && !bVar40) == bVar14;\n              if (bVar14) goto LAB_00310438;\n              lVar24 = 0xb;\n              pGVar32 = pGVar34;\n              pbVar36 = (byte *)"report-all";\n              do {\n                if (lVar24 == 0) break;\n                lVar24 = lVar24 + -1;\n                bVar29 = *(byte *)&(pGVar32->help_initializer_).super_Struct_special.\n                                   super_Struct_var._vptr_Struct_var;\n                bVar39 = bVar29 < *pbVar36;\n                bVar14 = bVar29 == *pbVar36;\n                pGVar32 = (General_options *)((long)pGVar32 + (ulong)bVar41 * -2 + 1);\n                pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n              } while (bVar14);\n              bVar40 = false;\n              bVar14 = (!bVar39 && !bVar14) == bVar39;\n              if (!bVar14) {\n                lVar24 = 0x17;\n                pGVar32 = pGVar34;\n                pbVar36 = (byte *)"ignore-in-object-files";\n                do {\n                  pGVar33 = pGVar32;\n                  if (lVar24 == 0) break;\n                  lVar24 = lVar24 + -1;\n                  pGVar33 = (General_options *)((long)pGVar32 + (ulong)bVar41 * -2 + 1);\n                  bVar29 = *(byte *)&(pGVar32->help_initializer_).super_Struct_special.\n                                     super_Struct_var._vptr_Struct_var;\n                  bVar40 = bVar29 < *pbVar36;\n                  bVar14 = bVar29 == *pbVar36;\n                  pGVar32 = pGVar33;\n                  pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                } while (bVar14);\n                iVar19 = (int)pGVar33;\n                bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 1) & 3;\n                bVar14 = (!bVar40 && !bVar14) == bVar40;\n                if ((!bVar14) ||\n                   (bVar14 = ((ulong)(pGVar21->help_initializer_).super_Struct_special.option.\n                                     helpstring & 0x1000000) == 0, !bVar14)) {\n                  bVar40 = false;\n                  lVar24 = 0x16;\n                  pbVar36 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    pGVar32 = pGVar34;\n                    if (lVar24 == 0) break;\n                    lVar24 = lVar24 + -1;\n                    pGVar32 = (General_options *)((long)pGVar34 + (ulong)bVar41 * -2 + 1);\n                    bVar29 = *(byte *)&(pGVar34->help_initializer_).super_Struct_special.\n                                       super_Struct_var._vptr_Struct_var;\n                    bVar40 = bVar29 < *pbVar36;\n                    bVar14 = bVar29 == *pbVar36;\n                    pGVar34 = pGVar32;\n                    pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                  } while (bVar14);\n                  iVar19 = (int)pGVar32;\n                  if (((!bVar40 && !bVar14) != bVar40) ||\n                     (*(char *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                       helpstring + 2) < '\0')) goto LAB_003103c9;\n                }\n                goto LAB_0031043f;\n              }\nLAB_003103e1:\n              pRVar35 = relinfo;\n              gold::gold_undefined_symbol_at_location<32,_true>\n                        ((Symbol *)pGVar21,relinfo,(size_t)local_148,local_140);\n              iVar19 = (int)pRVar35;\n              bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                        helpstring + 3);\n            }\n            else {\n              if (bVar15 == 4) goto LAB_0031020c;\nLAB_00310260:\n              iVar19 = (int)pGVar32;\n              bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                        helpstring + 1);\n              if ((bVar15 & 3) != 0) {\nLAB_0031026d:\n                bVar15 = bVar15 & 3;\n                bVar29 = bVar29 & 7;\nLAB_00310270:\n                if (((bVar29 == 4) &&\n                    (*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring\n                     >> 4 != 2)) &&\n                   (bVar29 = 4,\n                   ((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                   0x200000000) == 0)) goto LAB_00310293;\n              }\nLAB_003101c0:\n              bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                        helpstring + 3);\n            }\n            if ((bVar29 & 4) != 0) {\n              gold::Warnings::issue_warning<32,_true>\n                        (&relinfo->symtab->warnings_,(Symbol *)pGVar21,relinfo,(size_t)local_148,\n                         local_140);\n              iVar19 = (int)pGVar21;\n            }\n          }\n        }\n        local_138 = &symval;\n        gold::Symbol_value<32>::~Symbol_value(&symval2,iVar19);\n        gold::Symbol_value<32>::~Symbol_value(local_138,iVar19);\n      }" if (parenthesized_expression "((!needs_special_offset_handling) ||\n         (local_140 = gold::Output_section::output_offset\n                                (output_section,(Relobj *)relinfo->object,relinfo->data_shndx,\n                                 local_140), local_140 != 0xffffffffffffffff))" ( (binary_expression "(!needs_special_offset_handling) ||\n         (local_140 = gold::Output_section::output_offset\n                                (output_section,(Relobj *)relinfo->object,relinfo->data_shndx,\n                                 local_140), local_140 != 0xffffffffffffffff)" (parenthesized_expression "(!needs_special_offset_handling)" ( (unary_expression "!needs_special_offset_handling" ! identifier) )) || (parenthesized_expression "(local_140 = gold::Output_section::output_offset\n                                (output_section,(Relobj *)relinfo->object,relinfo->data_shndx,\n                                 local_140), local_140 != 0xffffffffffffffff)" ( (ERROR "local_140 = gold::Output_section::" (assignment_expression "local_140 = gold" identifier = identifier) : : identifier : :) (comma_expression "output_offset\n                                (output_section,(Relobj *)relinfo->object,relinfo->data_shndx,\n                                 local_140), local_140 != 0xffffffffffffffff" (call_expression "output_offset\n                                (output_section,(Relobj *)relinfo->object,relinfo->data_shndx,\n                                 local_140)" identifier (argument_list "(output_section,(Relobj *)relinfo->object,relinfo->data_shndx,\n                                 local_140)" ( identifier , (cast_expression "(Relobj *)relinfo->object" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "relinfo->object" identifier -> field_identifier)) , (field_expression "relinfo->data_shndx" identifier -> field_identifier) , identifier ))) , (binary_expression "local_140 != 0xffffffffffffffff" identifier != number_literal)) ))) )) (compound_statement "{\n        symval._8_4_ = 0x80000000;\n        symval.u_.value = 0;\n        uVar37 = local_120[1];\n        symval.output_symtab_index_ = 0;\n        symval.output_dynsym_index_ = 0xffffffff;\n        uVar37 = ((uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8 | uVar37 << 0x18) >> 8;\n        if (uVar37 < local_ec) {\n          if ((reloc_symbol_changes != (Reloc_symbol_changes *)0x0) &&\n             (pGVar21 = (General_options *)\n                        (reloc_symbol_changes->vec_).\n                        super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                        _M_start[(long)local_148], pGVar21 != (General_options *)0x0)) {\nLAB_0030fa33:\n            uVar16 = *(uint *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                      longname.field_2 + 4);\n            uVar30 = uVar16 - 1;\n            if (0xfffffffd < uVar30) goto LAB_0030fa42;\nLAB_0030fcf0:\n            if (uVar30 == 0xfffffffd) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/object.h",0x70d,"set_output_symtab_index");\n            }\n            symval.output_symtab_index_ = uVar16;\n            goto LAB_0030fa4a;\n          }\n          pSVar4 = (this_01->local_values_).\n                   super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                   ._M_impl._M_start;\n          if ((ulong)(((long)(this_01->local_values_).\n                             super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                             ._M_impl._M_finish - (long)pSVar4 >> 3) * -0x5555555555555555) <=\n              (ulong)uVar37) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/object.h",0x8c1,"local_symbol");\n          }\n          pSVar38 = pSVar4 + uVar37;\n          uVar16 = *(uint *)&pSVar38->field_0x8 & 0x7ffffff;\n          uVar30 = *(uint *)&pSVar38->field_0x8 & 0x7ffffff;\n          if (((pSVar38->field_0xb & 8) == 0) || (uVar16 == 0)) {\nLAB_0030fbb3:\n            pGVar21 = (General_options *)0x0;\n            goto LAB_0030faa5;\n          }\n          ppOVar6 = (this_01->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n          if ((ulong)((long)(this_01->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (long)ppOVar6 >> 3) <= (ulong)uVar16) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310860 to 00310864 has its CatchHandler @ 0031092a */\n            gold::do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (ppOVar6[uVar16] != (Output_section *)0x0) goto LAB_0030fbb3;\n          bVar14 = gold::Symbol_table::is_section_folded(relinfo->symtab,(Relobj *)this_01,uVar30);\n          pGVar21 = (General_options *)0x0;\n          if (bVar14) {\n            pGVar21 = (General_options *)0x0;\n            goto LAB_0030faa5;\n          }\nLAB_0030fd25:\n          symval2._8_4_ = 0x80000000;\n          symval2.output_symtab_index_ = 0;\n          symval2.output_dynsym_index_ = 0xffffffff;\n          symval2.u_.value = 0;\n          p_Var3 = (this_01->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object\n                   [0x10];\n          if (p_Var3 == gold::Sized_relobj_file<32,_true>::do_section_name) {\n                    /* try { // try from 0030fd86 to 0030fd8a has its CatchHandler @ 00310922 */\n            elfcpp::Elf_file<32,_true,_gold::Object>::section_name\n                      (&reloc_name,&this_01->elf_file_,relinfo->data_shndx);\n          }\n          else {\n                    /* try { // try from 00310038 to 00310039 has its CatchHandler @ 00310922 */\n            (*p_Var3)(&reloc_name,this_01);\n          }\n          bVar14 = false;\n          bVar40 = iVar13 == 0;\n          if (bVar40) {\n            lVar24 = 6;\n            _Var31._M_p = reloc_name._M_dataplus._M_p;\n            pbVar36 = &DAT_00533552;\n            do {\n              if (lVar24 == 0) break;\n              lVar24 = lVar24 + -1;\n              bVar14 = (byte)*_Var31._M_p < *pbVar36;\n              bVar40 = *_Var31._M_p == *pbVar36;\n              _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n              pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n            } while (bVar40);\n            bVar39 = false;\n            bVar14 = (!bVar14 && !bVar40) == bVar14;\n            if (!bVar14) {\n              lVar24 = 7;\n              _Var31._M_p = reloc_name._M_dataplus._M_p;\n              pbVar36 = (byte *)".zdebug";\n              do {\n                if (lVar24 == 0) break;\n                lVar24 = lVar24 + -1;\n                bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                bVar14 = *_Var31._M_p == *pbVar36;\n                _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n              } while (bVar14);\n              bVar40 = false;\n              bVar14 = (!bVar39 && !bVar14) == bVar39;\n              if (!bVar14) {\n                lVar24 = 0x11;\n                _Var31._M_p = reloc_name._M_dataplus._M_p;\n                pbVar36 = (byte *)".gnu.linkonce.wi.";\n                do {\n                  if (lVar24 == 0) break;\n                  lVar24 = lVar24 + -1;\n                  bVar40 = (byte)*_Var31._M_p < *pbVar36;\n                  bVar14 = *_Var31._M_p == *pbVar36;\n                  _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                  pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                } while (bVar14);\n                bVar39 = false;\n                bVar14 = (!bVar40 && !bVar14) == bVar40;\n                if (!bVar14) {\n                  lVar24 = 5;\n                  _Var31._M_p = reloc_name._M_dataplus._M_p;\n                  pbVar36 = (byte *)".line";\n                  do {\n                    if (lVar24 == 0) break;\n                    lVar24 = lVar24 + -1;\n                    bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                    bVar14 = *_Var31._M_p == *pbVar36;\n                    _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                    pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                  } while (bVar14);\n                  bVar40 = false;\n                  bVar14 = (!bVar39 && !bVar14) == bVar39;\n                  if (!bVar14) {\n                    lVar24 = 5;\n                    _Var31._M_p = reloc_name._M_dataplus._M_p;\n                    pbVar36 = (byte *)".stab";\n                    do {\n                      if (lVar24 == 0) break;\n                      lVar24 = lVar24 + -1;\n                      bVar40 = (byte)*_Var31._M_p < *pbVar36;\n                      bVar14 = *_Var31._M_p == *pbVar36;\n                      _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                      pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                    } while (bVar14);\n                    bVar39 = false;\n                    bVar14 = (!bVar40 && !bVar14) == bVar40;\n                    if (!bVar14) {\n                      lVar24 = 4;\n                      _Var31._M_p = reloc_name._M_dataplus._M_p;\n                      pbVar36 = &DAT_0053357f;\n                      do {\n                        if (lVar24 == 0) break;\n                        lVar24 = lVar24 + -1;\n                        bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                        bVar14 = *_Var31._M_p == *pbVar36;\n                        _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                        pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                      } while (bVar14);\n                      bVar40 = false;\n                      bVar14 = (!bVar39 && !bVar14) == bVar39;\n                      if (!bVar14) {\n                        lVar24 = 10;\n                        _Var31._M_p = reloc_name._M_dataplus._M_p;\n                        pbVar36 = (byte *)".eh_frame";\n                        do {\n                          if (lVar24 == 0) break;\n                          lVar24 = lVar24 + -1;\n                          bVar40 = (byte)*_Var31._M_p < *pbVar36;\n                          bVar14 = *_Var31._M_p == *pbVar36;\n                          _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                          pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                        } while (bVar14);\n                        bVar39 = false;\n                        bVar14 = (!bVar40 && !bVar14) == bVar40;\n                        if (!bVar14) {\n                          lVar24 = 0x12;\n                          _Var31._M_p = reloc_name._M_dataplus._M_p;\n                          pbVar36 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar24 == 0) break;\n                            lVar24 = lVar24 + -1;\n                            bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                            bVar14 = *_Var31._M_p == *pbVar36;\n                            _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                            pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                          } while (bVar14);\n                          if ((!bVar39 && !bVar14) != bVar39) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0030fdc0:\n                    /* try { // try from 0030fdd2 to 0030fdd6 has its CatchHandler @ 00310912 */\n            AVar17 = gold::Sized_relobj_file<32,_true>::map_to_kept_section\n                               (this_01,uVar30,&reloc_name,&found);\n            symval2.u_.value = 0;\n            if (found != false) {\n              symval2.u_.value = AVar17 + (pSVar38->u_).value;\n            }\n            iVar13 = 1;\n          }\n          else {\n            if (iVar13 == 1) goto LAB_0030fdc0;\n            if (iVar13 == 3) {\nLAB_0030ff50:\n              pSVar7 = relinfo->object;\n              if (pGVar21 == (General_options *)0x0) {\n                    /* try { // try from 003105ee to 0031061d has its CatchHandler @ 00310912 */\n                pcVar20 = gold::Sized_relobj_file<32,_true>::get_symbol_name(pSVar7,uVar37);\n                pcVar27 = (char *)gettext(\n                                         "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                         );\n                gold::gold_error_at_location<32,_true>\n                          (relinfo,(size_t)local_148,local_140,pcVar27,pcVar20,(ulong)uVar37);\n              }\n              else {\n                    /* try { // try from 0030ff70 to 0030ff74 has its CatchHandler @ 00310912 */\n                gold::Symbol::demangled_name((string *)&found,(Symbol *)pGVar21);\n                uVar23 = CONCAT71(uStack_77,found);\n                pcVar20 = (char *)gettext(\n                                         "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                         );\n                    /* try { // try from 0030ffa4 to 0030ffa8 has its CatchHandler @ 0031093c */\n                gold::gold_error_at_location<32,_true>\n                          (relinfo,(size_t)local_148,local_140,pcVar20,uVar23);\n                if ((undefined1 *)CONCAT71(uStack_77,found) != auStack_68) {\n                  operator_delete((undefined1 *)CONCAT71(uStack_77,found));\n                }\n              }\n                    /* try { // try from 0030ffd1 to 0030ffd5 has its CatchHandler @ 00310912 */\n              uVar37 = gold::Sized_relobj_file<32,_true>::symbol_section_and_value\n                                 (pSVar7,uVar37,&value,&is_ordinary);\n              if (uVar37 != 0) {\n                    /* try { // try from 00310544 to 0031057d has its CatchHandler @ 00310912 */\n                pRVar25 = gold::Sized_relobj_file<32,_true>::find_kept_section_object\n                                    (pSVar7,uVar37,&key_symndx);\n                if (key_symndx != 0) {\n                    /* try { // try from 00310725 to 00310745 has its CatchHandler @ 00310912 */\n                  pcVar20 = gold::Sized_relobj_file<32,_true>::get_symbol_name(pSVar7,key_symndx);\n                  pcVar27 = (char *)gettext("  section group signature: \"%s\"");\n                  gold::gold_info(pcVar27,pcVar20);\n                }\n                if (pRVar25 != (Relobj *)0x0) {\n                  pcVar11 = (pRVar25->super_Object).name_._M_dataplus._M_p;\n                  pcVar20 = (char *)gettext("  prevailing definition is from %s");\n                  gold::gold_info(pcVar20,pcVar11);\n                }\n              }\n              iVar13 = 3;\n            }\n            else {\nLAB_00310006:\n              iVar13 = 2;\n            }\n            symval2.u_.value = 0;\n          }\n          if (symval2.output_symtab_index_ != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310794 to 00310798 has its CatchHandler @ 00310912 */\n            gold::do_gold_unreachable("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\n          symval2.output_symtab_index_ = 0xffffffff;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)reloc_name._M_dataplus._M_p != &reloc_name.field_2) {\n            operator_delete(reloc_name._M_dataplus._M_p);\n          }\n          pSVar38 = &symval2;\n          if (-1 < (long)local_140) goto LAB_0030fae5;\nLAB_0030fe48:\n          pcVar20 = (char *)gettext("reloc has bad offset %zu");\n          pGVar21 = local_148;\n                    /* try { // try from 0030fe68 to 0030fe6c has its CatchHandler @ 00310922 */\n          gold::gold_error_at_location<32,_true>\n                    (relinfo,(size_t)local_148,local_140,pcVar20,local_140);\n          iVar19 = (int)pGVar21;\n        }\n        else {\n          if ((reloc_symbol_changes != (Reloc_symbol_changes *)0x0) &&\n             (pGVar21 = (General_options *)\n                        (reloc_symbol_changes->vec_).\n                        super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                        _M_start[(long)local_148], pGVar21 != (General_options *)0x0))\n          goto LAB_0030fa33;\n          if (uVar37 < this_01->local_symbol_count_) {\nLAB_003107a0:\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003107b3 to 003107ff has its CatchHandler @ 0031092a */\n            gold::do_gold_unreachable("../../gold/target-reloc.h",0x17f,"relocate_section");\n          }\n          ppSVar5 = (this_01->symbols_).\n                    super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                    _M_start;\n          uVar28 = (ulong)(uVar37 - this_01->local_symbol_count_);\n          if ((ulong)((long)(this_01->symbols_).\n                            super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n                            _M_impl._M_finish - (long)ppSVar5 >> 3) <= uVar28) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/object.h",0x8ad,"global_symbol");\n          }\n          pGVar21 = (General_options *)ppSVar5[uVar28];\n          if (pGVar21 == (General_options *)0x0) goto LAB_003107a0;\n          if (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring & 0x100000\n              ) == 0) goto LAB_0030fa33;\n                    /* try { // try from 0030fc40 to 0030fcb4 has its CatchHandler @ 0031092a */\n          pGVar21 = (General_options *)\n                    gold::Symbol_table::resolve_forwards(relinfo->symtab,(Symbol *)pGVar21);\n          uVar16 = *(uint *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                    longname.field_2 + 4);\n          uVar30 = uVar16 - 1;\n          if (uVar30 < 0xfffffffe) {\n            if ((symval.output_symtab_index_ != 0) && (symval.output_symtab_index_ != 0xfffffffe)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0031077c to 00310780 has its CatchHandler @ 0031092a */\n              gold::do_gold_unreachable("../../gold/object.h",0x70c,"set_output_symtab_index");\n            }\n            goto LAB_0030fcf0;\n          }\n          if (symval.output_symtab_index_ != 0) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\nLAB_0030fa42:\n          symval.output_symtab_index_ = 0xffffffff;\nLAB_0030fa4a:\n          symval.u_.value =\n               *(Value *)&(pGVar21->help_initializer_).super_Struct_special.option.helparg;\n          bVar29 = *(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                   0xf;\n          if (bVar29 == 6) {\n            symval._8_4_ = symval._8_4_ | 0x20000000;\n          }\n          else if (bVar29 == 10) {\n            symval._8_4_ = symval._8_4_ | 0x40000000;\n          }\n          bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                    helpstring + 3);\n          if ((char)bVar29 < '\0') {\n            pcVar20 = (pGVar21->help_initializer_).super_Struct_special.option.helpstring;\n            if (((ulong)pcVar20 & 0x70000) == 0) {\n              if ((*(uint *)&(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                             field_2 == 0) && ((bVar29 & 0x20) != 0)) {\nLAB_0030fd10:\n                pSVar38 = &symval;\n                uVar30 = 0;\n                goto LAB_0030fd25;\n              }\n            }\n            else if (((ulong)pcVar20 & 0x70000) == 0x40000) goto LAB_0030fd10;\n          }\n          pSVar38 = &symval;\nLAB_0030faa5:\n          symval2._8_4_ = 0x80000000;\n          symval2.output_symtab_index_ = 0;\n          symval2.output_dynsym_index_ = 0xffffffff;\n          symval2.u_.value = 0;\n          if ((long)local_140 < 0) goto LAB_0030fe48;\nLAB_0030fae5:\n          if ((view_size <= local_140) || (view + local_140 == (uchar *)0x0)) goto LAB_0030fe48;\n          uVar37 = local_120[1];\n          if (uVar37 >> 0x18 != 0) {\n            pcVar20 = (char *)gettext("Invalid/unrecognized reloc reloc %d.");\n                    /* try { // try from 0030fb3d to 0030fb59 has its CatchHandler @ 00310922 */\n            gold::gold_error(pcVar20,(ulong)(uVar37 >> 0x18));\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable\n                      ("../../gold/aarch64-reloc-property.h",0xeb,"code_to_array_index");\n          }\n          if (aarch64_reloc_property_table->table_[0] == (AArch64_reloc_property *)0x0) {\n                    /* try { // try from 003104dd to 003104e1 has its CatchHandler @ 00310922 */\n            gold::AArch64_reloc_property_table::reloc_name_in_error_message\n                      (&reloc_name,aarch64_reloc_property_table,0);\n            _Var31 = reloc_name._M_dataplus;\n            pcVar20 = (char *)gettext("cannot relocate %s in object file");\n            uVar37 = *local_120;\n            pGVar32 = local_148;\n                    /* try { // try from 00310510 to 00310514 has its CatchHandler @ 0031091a */\n            gold::gold_error_at_location<32,_true>\n                      (relinfo,(size_t)local_148,\n                       (ulong)(uVar37 >> 0x18 | (uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8 |\n                              uVar37 << 0x18),pcVar20,_Var31._M_p);\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)reloc_name._M_dataplus._M_p != &reloc_name.field_2) {\n              operator_delete(reloc_name._M_dataplus._M_p);\n            }\n          }\n          else {\n            pGVar32 = (General_options *)0x0;\n            pSVar7 = relinfo->object;\n            symval_1._8_4_ = 0x80000000;\n            symval_1.output_symtab_index_ = 0;\n            symval_1.output_dynsym_index_ = 0xffffffff;\n            symval_1.u_.value = 0;\n            if (pGVar21 == (General_options *)0x0) {\n              if ((pSVar38->field_0xb & 0x40) != 0) {\n                uVar37 = ((uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8 | uVar37 << 0x18) >> 8;\n                pGVar32 = (General_options *)(ulong)uVar37;\n                this_00 = pSVar7;\n                    /* try { // try from 00310475 to 003104bc has its CatchHandler @ 00310944 */\n                bVar14 = gold::Sized_relobj_file<32,_true>::local_has_plt_offset(pSVar7,uVar37);\n                if (bVar14) {\n                  pOVar10 = this->plt_;\n                  if (pOVar10 == (Output_data_plt_aarch64<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108c5 to 003108c9 has its CatchHandler @ 00310944 */\n                    plt_section((Target_aarch64<32,_true> *)this_00);\n                  }\n                  if (((pOVar10->super_Output_section_data).super_Output_data.field_0x20 & 1) == 0)\n                  {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108a8 to 003108ac has its CatchHandler @ 00310944 */\n                    gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar22 = (pOVar10->super_Output_section_data).super_Output_data.address_;\n                  uVar30 = pOVar10->count_;\n                  pGVar32 = (General_options *)(ulong)uVar37;\n                  iVar19 = (*(pSVar7->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                             _vptr_Object[0x2a])(pSVar7);\n                  symval_1.u_.value = (int)uVar22 + 0x20 + uVar30 * 0x10 + iVar19;\n                }\n              }\n            }\n            else {\n              uVar37 = aarch64_reloc_property_table->table_[0]->reference_flags_;\n              pGVar32 = (General_options *)(ulong)uVar37;\n                    /* try { // try from 003100df to 00310101 has its CatchHandler @ 00310944 */\n              bVar14 = gold::Symbol::use_plt_offset((Symbol *)pGVar21,uVar37);\n              if (bVar14) {\n                if (this->plt_ == (Output_data_plt_aarch64<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310800 to 00310804 has its CatchHandler @ 00310944 */\n                  plt_section((Target_aarch64<32,_true> *)0x0);\n                }\n                pGVar32 = pGVar21;\n                uVar22 = Output_data_plt_aarch64<32,_true>::address_for_global\n                                   (this->plt_,(Symbol *)pGVar21);\n                symval_1.u_.value = (Value)uVar22;\n              }\n            }\n            gold::Symbol_value<32>::~Symbol_value(&symval_1,(int)pGVar32);\n          }\n          iVar19 = (int)pGVar32;\n          if (pGVar21 != (General_options *)0x0) {\n            bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                      helpstring + 2);\n            bVar15 = bVar29 & 7;\n            if ((bVar29 & 7) == 0) {\n              if ((*(int *)&(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                            field_2 != 0) ||\n                 (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                  0x20000000) == 0)) {\n                pcVar8 = *(code **)(*(long *)(pGVar21->help_initializer_).super_Struct_special.\n                                             option.longname._M_string_length + 0x28);\n                if (pcVar8 != gold::Object::do_pluginobj) {\n                  lVar24 = (*pcVar8)();\n                  iVar19 = (int)pGVar32;\n                  if (lVar24 != 0) {\n                    bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 2);\n                    bVar15 = bVar29 & 7;\n                    if ((bVar29 & 7) == 0) {\n                      uVar37 = *(uint *)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                         longname.field_2;\n                      pGVar32 = (General_options *)(ulong)uVar37;\n                      bVar1 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                               option.helpstring + 3);\n                      if ((uVar37 == 0) && ((bVar1 & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)bVar1 < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar15 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 3)) goto LAB_00310305;\n                    bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 1);\n                    if ((bVar15 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }\nLAB_0031015a:\n                bVar1 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                         helpstring + 1);\n                bVar29 = bVar29 & 7;\n                bVar15 = bVar1 & 3;\n                if ((bVar1 & 3) == 0) goto LAB_003101c0;\nLAB_00310166:\n                if (((*(int *)&(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                               field_2 == 0) &&\n                    (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                     0x20000000) != 0)) &&\n                   ((*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring\n                     >> 4 != 2 &&\n                    (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                     0x200000000) == 0)))) {\nLAB_00310293:\n                  if (gold::parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108dd to 003108e1 has its CatchHandler @ 00310922 */\n                    gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if ((gold::parameters->options_->weak_unresolved_symbols_).value != false) {\n                    if (bVar29 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)((pGVar21->help_initializer_).super_Struct_special.option.longname.\n                                 _M_string_length + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }\n                if (bVar15 == 2) {\n                  uVar23 = gettext("hidden");\n                }\n                else if (bVar15 < 3) {\n                  if (bVar15 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    gold::do_gold_unreachable("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar23 = gettext("internal");\n                }\n                else {\n                  uVar23 = gettext("protected");\n                }\n                pp_Var2 = (pGVar21->help_initializer_).super_Struct_special.super_Struct_var.\n                          _vptr_Struct_var;\n                pcVar20 = (char *)gettext("%s symbol \'%s\' is not defined locally");\n                    /* try { // try from 003101b4 to 0031042c has its CatchHandler @ 00310922 */\n                gold::gold_error(pcVar20,uVar23,pp_Var2);\n                iVar19 = (int)uVar23;\n                goto LAB_003101c0;\n              }\nLAB_0031020c:\n              if ((*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring >>\n                   4 == 2) ||\n                 (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                  0x200000000) != 0)) {\nLAB_00310438:\n                iVar19 = (int)pGVar32;\n                bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 1) & 3;\nLAB_0031043f:\n                if (bVar15 == 0) goto LAB_003101c0;\n                bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 2) & 7;\n                if (bVar29 != 0) goto LAB_00310270;\n                goto LAB_00310166;\n              }\n              pGVar32 = gold::parameters->options_;\n              if (pGVar32 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310878 to 0031087c has its CatchHandler @ 00310922 */\n                gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((pGVar32->weak_unresolved_symbols_).value != false) goto LAB_00310438;\n              if (*(char *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                   helpstring + 3) < '\0') {\n                if (bVar15 != 0) goto LAB_00310260;\nLAB_003105b8:\n                iVar19 = (int)pGVar32;\n                pcVar8 = *(code **)(*(long *)(pGVar21->help_initializer_).super_Struct_special.\n                                             option.longname._M_string_length + 0x28);\n                if (pcVar8 == gold::Object::do_pluginobj) goto LAB_0031015a;\n                    /* try { // try from 003105cc to 003105cd has its CatchHandler @ 00310922 */\n                lVar24 = (*pcVar8)();\n                if (lVar24 == 0) goto LAB_00310438;\n              }\nLAB_00310305:\n              iVar19 = (int)pGVar32;\n              if (gold::parameters->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310818 to 0031084c has its CatchHandler @ 00310922 */\n                gold::do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n              }\n              p_Var3 = gold::parameters->target_->_vptr_Target[7];\n              if (p_Var3 != gold::Target::do_is_defined_by_abi) {\n                pGVar32 = pGVar21;\n                iVar18 = (*p_Var3)();\n                iVar19 = (int)pGVar32;\n                if ((char)iVar18 != '\0') goto LAB_00310438;\n              }\n              pGVar9 = gold::parameters->options_;\n              if (pGVar9 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              pGVar34 = (General_options *)(pGVar9->unresolved_symbols_).value;\n              bVar14 = false;\n              bVar40 = pGVar34 == (General_options *)0x0;\n              if (bVar40) {\n                bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 1) & 3;\nLAB_003103c9:\n                if ((bVar15 == 2) ||\n                   (((pGVar9->shared_).value == false || ((pGVar9->defs_).value != false))))\n                goto LAB_003103e1;\n                goto LAB_0031043f;\n              }\n              lVar24 = 0xb;\n              pGVar33 = pGVar34;\n              pbVar36 = (byte *)"ignore-all";\n              do {\n                pGVar32 = pGVar33;\n                if (lVar24 == 0) break;\n                lVar24 = lVar24 + -1;\n                pGVar32 = (General_options *)((long)pGVar33 + (ulong)bVar41 * -2 + 1);\n                bVar29 = *(byte *)&(pGVar33->help_initializer_).super_Struct_special.\n                                   super_Struct_var._vptr_Struct_var;\n                bVar14 = bVar29 < *pbVar36;\n                bVar40 = bVar29 == *pbVar36;\n                pGVar33 = pGVar32;\n                pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n              } while (bVar40);\n              bVar39 = false;\n              bVar14 = (!bVar14 && !bVar40) == bVar14;\n              if (bVar14) goto LAB_00310438;\n              lVar24 = 0xb;\n              pGVar32 = pGVar34;\n              pbVar36 = (byte *)"report-all";\n              do {\n                if (lVar24 == 0) break;\n                lVar24 = lVar24 + -1;\n                bVar29 = *(byte *)&(pGVar32->help_initializer_).super_Struct_special.\n                                   super_Struct_var._vptr_Struct_var;\n                bVar39 = bVar29 < *pbVar36;\n                bVar14 = bVar29 == *pbVar36;\n                pGVar32 = (General_options *)((long)pGVar32 + (ulong)bVar41 * -2 + 1);\n                pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n              } while (bVar14);\n              bVar40 = false;\n              bVar14 = (!bVar39 && !bVar14) == bVar39;\n              if (!bVar14) {\n                lVar24 = 0x17;\n                pGVar32 = pGVar34;\n                pbVar36 = (byte *)"ignore-in-object-files";\n                do {\n                  pGVar33 = pGVar32;\n                  if (lVar24 == 0) break;\n                  lVar24 = lVar24 + -1;\n                  pGVar33 = (General_options *)((long)pGVar32 + (ulong)bVar41 * -2 + 1);\n                  bVar29 = *(byte *)&(pGVar32->help_initializer_).super_Struct_special.\n                                     super_Struct_var._vptr_Struct_var;\n                  bVar40 = bVar29 < *pbVar36;\n                  bVar14 = bVar29 == *pbVar36;\n                  pGVar32 = pGVar33;\n                  pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                } while (bVar14);\n                iVar19 = (int)pGVar33;\n                bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 1) & 3;\n                bVar14 = (!bVar40 && !bVar14) == bVar40;\n                if ((!bVar14) ||\n                   (bVar14 = ((ulong)(pGVar21->help_initializer_).super_Struct_special.option.\n                                     helpstring & 0x1000000) == 0, !bVar14)) {\n                  bVar40 = false;\n                  lVar24 = 0x16;\n                  pbVar36 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    pGVar32 = pGVar34;\n                    if (lVar24 == 0) break;\n                    lVar24 = lVar24 + -1;\n                    pGVar32 = (General_options *)((long)pGVar34 + (ulong)bVar41 * -2 + 1);\n                    bVar29 = *(byte *)&(pGVar34->help_initializer_).super_Struct_special.\n                                       super_Struct_var._vptr_Struct_var;\n                    bVar40 = bVar29 < *pbVar36;\n                    bVar14 = bVar29 == *pbVar36;\n                    pGVar34 = pGVar32;\n                    pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                  } while (bVar14);\n                  iVar19 = (int)pGVar32;\n                  if (((!bVar40 && !bVar14) != bVar40) ||\n                     (*(char *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                       helpstring + 2) < '\0')) goto LAB_003103c9;\n                }\n                goto LAB_0031043f;\n              }\nLAB_003103e1:\n              pRVar35 = relinfo;\n              gold::gold_undefined_symbol_at_location<32,_true>\n                        ((Symbol *)pGVar21,relinfo,(size_t)local_148,local_140);\n              iVar19 = (int)pRVar35;\n              bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                        helpstring + 3);\n            }\n            else {\n              if (bVar15 == 4) goto LAB_0031020c;\nLAB_00310260:\n              iVar19 = (int)pGVar32;\n              bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                        helpstring + 1);\n              if ((bVar15 & 3) != 0) {\nLAB_0031026d:\n                bVar15 = bVar15 & 3;\n                bVar29 = bVar29 & 7;\nLAB_00310270:\n                if (((bVar29 == 4) &&\n                    (*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring\n                     >> 4 != 2)) &&\n                   (bVar29 = 4,\n                   ((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                   0x200000000) == 0)) goto LAB_00310293;\n              }\nLAB_003101c0:\n              bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                        helpstring + 3);\n            }\n            if ((bVar29 & 4) != 0) {\n              gold::Warnings::issue_warning<32,_true>\n                        (&relinfo->symtab->warnings_,(Symbol *)pGVar21,relinfo,(size_t)local_148,\n                         local_140);\n              iVar19 = (int)pGVar21;\n            }\n          }\n        }\n        local_138 = &symval;\n        gold::Symbol_value<32>::~Symbol_value(&symval2,iVar19);\n        gold::Symbol_value<32>::~Symbol_value(local_138,iVar19);\n      }" { (expression_statement "symval._8_4_ = 0x80000000;" (assignment_expression "symval._8_4_ = 0x80000000" (field_expression "symval._8_4_" identifier . field_identifier) = number_literal) ;) (expression_statement "symval.u_.value = 0;" (assignment_expression "symval.u_.value = 0" (field_expression "symval.u_.value" (field_expression "symval.u_" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "uVar37 = local_120[1];" (assignment_expression "uVar37 = local_120[1]" identifier = (subscript_expression "local_120[1]" identifier [ number_literal ])) ;) (expression_statement "symval.output_symtab_index_ = 0;" (assignment_expression "symval.output_symtab_index_ = 0" (field_expression "symval.output_symtab_index_" identifier . field_identifier) = number_literal) ;) (expression_statement "symval.output_dynsym_index_ = 0xffffffff;" (assignment_expression "symval.output_dynsym_index_ = 0xffffffff" (field_expression "symval.output_dynsym_index_" identifier . field_identifier) = number_literal) ;) (expression_statement "uVar37 = ((uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8 | uVar37 << 0x18) >> 8;" (assignment_expression "uVar37 = ((uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8 | uVar37 << 0x18) >> 8" identifier = (binary_expression "((uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8 | uVar37 << 0x18) >> 8" (parenthesized_expression "((uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8 | uVar37 << 0x18)" ( (binary_expression "(uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8 | uVar37 << 0x18" (binary_expression "(uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8" (binary_expression "(uVar37 & 0xff0000) >> 8" (parenthesized_expression "(uVar37 & 0xff0000)" ( (binary_expression "uVar37 & 0xff0000" identifier & number_literal) )) >> number_literal) | (binary_expression "(uVar37 & 0xff00) << 8" (parenthesized_expression "(uVar37 & 0xff00)" ( (binary_expression "uVar37 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar37 << 0x18" identifier << number_literal)) )) >> number_literal)) ;) (if_statement "if (uVar37 < local_ec) {\n          if ((reloc_symbol_changes != (Reloc_symbol_changes *)0x0) &&\n             (pGVar21 = (General_options *)\n                        (reloc_symbol_changes->vec_).\n                        super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                        _M_start[(long)local_148], pGVar21 != (General_options *)0x0)) {\nLAB_0030fa33:\n            uVar16 = *(uint *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                      longname.field_2 + 4);\n            uVar30 = uVar16 - 1;\n            if (0xfffffffd < uVar30) goto LAB_0030fa42;\nLAB_0030fcf0:\n            if (uVar30 == 0xfffffffd) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/object.h",0x70d,"set_output_symtab_index");\n            }\n            symval.output_symtab_index_ = uVar16;\n            goto LAB_0030fa4a;\n          }\n          pSVar4 = (this_01->local_values_).\n                   super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                   ._M_impl._M_start;\n          if ((ulong)(((long)(this_01->local_values_).\n                             super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                             ._M_impl._M_finish - (long)pSVar4 >> 3) * -0x5555555555555555) <=\n              (ulong)uVar37) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/object.h",0x8c1,"local_symbol");\n          }\n          pSVar38 = pSVar4 + uVar37;\n          uVar16 = *(uint *)&pSVar38->field_0x8 & 0x7ffffff;\n          uVar30 = *(uint *)&pSVar38->field_0x8 & 0x7ffffff;\n          if (((pSVar38->field_0xb & 8) == 0) || (uVar16 == 0)) {\nLAB_0030fbb3:\n            pGVar21 = (General_options *)0x0;\n            goto LAB_0030faa5;\n          }\n          ppOVar6 = (this_01->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n          if ((ulong)((long)(this_01->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (long)ppOVar6 >> 3) <= (ulong)uVar16) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310860 to 00310864 has its CatchHandler @ 0031092a */\n            gold::do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (ppOVar6[uVar16] != (Output_section *)0x0) goto LAB_0030fbb3;\n          bVar14 = gold::Symbol_table::is_section_folded(relinfo->symtab,(Relobj *)this_01,uVar30);\n          pGVar21 = (General_options *)0x0;\n          if (bVar14) {\n            pGVar21 = (General_options *)0x0;\n            goto LAB_0030faa5;\n          }\nLAB_0030fd25:\n          symval2._8_4_ = 0x80000000;\n          symval2.output_symtab_index_ = 0;\n          symval2.output_dynsym_index_ = 0xffffffff;\n          symval2.u_.value = 0;\n          p_Var3 = (this_01->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object\n                   [0x10];\n          if (p_Var3 == gold::Sized_relobj_file<32,_true>::do_section_name) {\n                    /* try { // try from 0030fd86 to 0030fd8a has its CatchHandler @ 00310922 */\n            elfcpp::Elf_file<32,_true,_gold::Object>::section_name\n                      (&reloc_name,&this_01->elf_file_,relinfo->data_shndx);\n          }\n          else {\n                    /* try { // try from 00310038 to 00310039 has its CatchHandler @ 00310922 */\n            (*p_Var3)(&reloc_name,this_01);\n          }\n          bVar14 = false;\n          bVar40 = iVar13 == 0;\n          if (bVar40) {\n            lVar24 = 6;\n            _Var31._M_p = reloc_name._M_dataplus._M_p;\n            pbVar36 = &DAT_00533552;\n            do {\n              if (lVar24 == 0) break;\n              lVar24 = lVar24 + -1;\n              bVar14 = (byte)*_Var31._M_p < *pbVar36;\n              bVar40 = *_Var31._M_p == *pbVar36;\n              _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n              pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n            } while (bVar40);\n            bVar39 = false;\n            bVar14 = (!bVar14 && !bVar40) == bVar14;\n            if (!bVar14) {\n              lVar24 = 7;\n              _Var31._M_p = reloc_name._M_dataplus._M_p;\n              pbVar36 = (byte *)".zdebug";\n              do {\n                if (lVar24 == 0) break;\n                lVar24 = lVar24 + -1;\n                bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                bVar14 = *_Var31._M_p == *pbVar36;\n                _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n              } while (bVar14);\n              bVar40 = false;\n              bVar14 = (!bVar39 && !bVar14) == bVar39;\n              if (!bVar14) {\n                lVar24 = 0x11;\n                _Var31._M_p = reloc_name._M_dataplus._M_p;\n                pbVar36 = (byte *)".gnu.linkonce.wi.";\n                do {\n                  if (lVar24 == 0) break;\n                  lVar24 = lVar24 + -1;\n                  bVar40 = (byte)*_Var31._M_p < *pbVar36;\n                  bVar14 = *_Var31._M_p == *pbVar36;\n                  _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                  pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                } while (bVar14);\n                bVar39 = false;\n                bVar14 = (!bVar40 && !bVar14) == bVar40;\n                if (!bVar14) {\n                  lVar24 = 5;\n                  _Var31._M_p = reloc_name._M_dataplus._M_p;\n                  pbVar36 = (byte *)".line";\n                  do {\n                    if (lVar24 == 0) break;\n                    lVar24 = lVar24 + -1;\n                    bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                    bVar14 = *_Var31._M_p == *pbVar36;\n                    _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                    pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                  } while (bVar14);\n                  bVar40 = false;\n                  bVar14 = (!bVar39 && !bVar14) == bVar39;\n                  if (!bVar14) {\n                    lVar24 = 5;\n                    _Var31._M_p = reloc_name._M_dataplus._M_p;\n                    pbVar36 = (byte *)".stab";\n                    do {\n                      if (lVar24 == 0) break;\n                      lVar24 = lVar24 + -1;\n                      bVar40 = (byte)*_Var31._M_p < *pbVar36;\n                      bVar14 = *_Var31._M_p == *pbVar36;\n                      _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                      pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                    } while (bVar14);\n                    bVar39 = false;\n                    bVar14 = (!bVar40 && !bVar14) == bVar40;\n                    if (!bVar14) {\n                      lVar24 = 4;\n                      _Var31._M_p = reloc_name._M_dataplus._M_p;\n                      pbVar36 = &DAT_0053357f;\n                      do {\n                        if (lVar24 == 0) break;\n                        lVar24 = lVar24 + -1;\n                        bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                        bVar14 = *_Var31._M_p == *pbVar36;\n                        _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                        pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                      } while (bVar14);\n                      bVar40 = false;\n                      bVar14 = (!bVar39 && !bVar14) == bVar39;\n                      if (!bVar14) {\n                        lVar24 = 10;\n                        _Var31._M_p = reloc_name._M_dataplus._M_p;\n                        pbVar36 = (byte *)".eh_frame";\n                        do {\n                          if (lVar24 == 0) break;\n                          lVar24 = lVar24 + -1;\n                          bVar40 = (byte)*_Var31._M_p < *pbVar36;\n                          bVar14 = *_Var31._M_p == *pbVar36;\n                          _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                          pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                        } while (bVar14);\n                        bVar39 = false;\n                        bVar14 = (!bVar40 && !bVar14) == bVar40;\n                        if (!bVar14) {\n                          lVar24 = 0x12;\n                          _Var31._M_p = reloc_name._M_dataplus._M_p;\n                          pbVar36 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar24 == 0) break;\n                            lVar24 = lVar24 + -1;\n                            bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                            bVar14 = *_Var31._M_p == *pbVar36;\n                            _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                            pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                          } while (bVar14);\n                          if ((!bVar39 && !bVar14) != bVar39) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0030fdc0:\n                    /* try { // try from 0030fdd2 to 0030fdd6 has its CatchHandler @ 00310912 */\n            AVar17 = gold::Sized_relobj_file<32,_true>::map_to_kept_section\n                               (this_01,uVar30,&reloc_name,&found);\n            symval2.u_.value = 0;\n            if (found != false) {\n              symval2.u_.value = AVar17 + (pSVar38->u_).value;\n            }\n            iVar13 = 1;\n          }\n          else {\n            if (iVar13 == 1) goto LAB_0030fdc0;\n            if (iVar13 == 3) {\nLAB_0030ff50:\n              pSVar7 = relinfo->object;\n              if (pGVar21 == (General_options *)0x0) {\n                    /* try { // try from 003105ee to 0031061d has its CatchHandler @ 00310912 */\n                pcVar20 = gold::Sized_relobj_file<32,_true>::get_symbol_name(pSVar7,uVar37);\n                pcVar27 = (char *)gettext(\n                                         "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                         );\n                gold::gold_error_at_location<32,_true>\n                          (relinfo,(size_t)local_148,local_140,pcVar27,pcVar20,(ulong)uVar37);\n              }\n              else {\n                    /* try { // try from 0030ff70 to 0030ff74 has its CatchHandler @ 00310912 */\n                gold::Symbol::demangled_name((string *)&found,(Symbol *)pGVar21);\n                uVar23 = CONCAT71(uStack_77,found);\n                pcVar20 = (char *)gettext(\n                                         "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                         );\n                    /* try { // try from 0030ffa4 to 0030ffa8 has its CatchHandler @ 0031093c */\n                gold::gold_error_at_location<32,_true>\n                          (relinfo,(size_t)local_148,local_140,pcVar20,uVar23);\n                if ((undefined1 *)CONCAT71(uStack_77,found) != auStack_68) {\n                  operator_delete((undefined1 *)CONCAT71(uStack_77,found));\n                }\n              }\n                    /* try { // try from 0030ffd1 to 0030ffd5 has its CatchHandler @ 00310912 */\n              uVar37 = gold::Sized_relobj_file<32,_true>::symbol_section_and_value\n                                 (pSVar7,uVar37,&value,&is_ordinary);\n              if (uVar37 != 0) {\n                    /* try { // try from 00310544 to 0031057d has its CatchHandler @ 00310912 */\n                pRVar25 = gold::Sized_relobj_file<32,_true>::find_kept_section_object\n                                    (pSVar7,uVar37,&key_symndx);\n                if (key_symndx != 0) {\n                    /* try { // try from 00310725 to 00310745 has its CatchHandler @ 00310912 */\n                  pcVar20 = gold::Sized_relobj_file<32,_true>::get_symbol_name(pSVar7,key_symndx);\n                  pcVar27 = (char *)gettext("  section group signature: \"%s\"");\n                  gold::gold_info(pcVar27,pcVar20);\n                }\n                if (pRVar25 != (Relobj *)0x0) {\n                  pcVar11 = (pRVar25->super_Object).name_._M_dataplus._M_p;\n                  pcVar20 = (char *)gettext("  prevailing definition is from %s");\n                  gold::gold_info(pcVar20,pcVar11);\n                }\n              }\n              iVar13 = 3;\n            }\n            else {\nLAB_00310006:\n              iVar13 = 2;\n            }\n            symval2.u_.value = 0;\n          }\n          if (symval2.output_symtab_index_ != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310794 to 00310798 has its CatchHandler @ 00310912 */\n            gold::do_gold_unreachable("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\n          symval2.output_symtab_index_ = 0xffffffff;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)reloc_name._M_dataplus._M_p != &reloc_name.field_2) {\n            operator_delete(reloc_name._M_dataplus._M_p);\n          }\n          pSVar38 = &symval2;\n          if (-1 < (long)local_140) goto LAB_0030fae5;\nLAB_0030fe48:\n          pcVar20 = (char *)gettext("reloc has bad offset %zu");\n          pGVar21 = local_148;\n                    /* try { // try from 0030fe68 to 0030fe6c has its CatchHandler @ 00310922 */\n          gold::gold_error_at_location<32,_true>\n                    (relinfo,(size_t)local_148,local_140,pcVar20,local_140);\n          iVar19 = (int)pGVar21;\n        }\n        else {\n          if ((reloc_symbol_changes != (Reloc_symbol_changes *)0x0) &&\n             (pGVar21 = (General_options *)\n                        (reloc_symbol_changes->vec_).\n                        super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                        _M_start[(long)local_148], pGVar21 != (General_options *)0x0))\n          goto LAB_0030fa33;\n          if (uVar37 < this_01->local_symbol_count_) {\nLAB_003107a0:\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003107b3 to 003107ff has its CatchHandler @ 0031092a */\n            gold::do_gold_unreachable("../../gold/target-reloc.h",0x17f,"relocate_section");\n          }\n          ppSVar5 = (this_01->symbols_).\n                    super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                    _M_start;\n          uVar28 = (ulong)(uVar37 - this_01->local_symbol_count_);\n          if ((ulong)((long)(this_01->symbols_).\n                            super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n                            _M_impl._M_finish - (long)ppSVar5 >> 3) <= uVar28) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/object.h",0x8ad,"global_symbol");\n          }\n          pGVar21 = (General_options *)ppSVar5[uVar28];\n          if (pGVar21 == (General_options *)0x0) goto LAB_003107a0;\n          if (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring & 0x100000\n              ) == 0) goto LAB_0030fa33;\n                    /* try { // try from 0030fc40 to 0030fcb4 has its CatchHandler @ 0031092a */\n          pGVar21 = (General_options *)\n                    gold::Symbol_table::resolve_forwards(relinfo->symtab,(Symbol *)pGVar21);\n          uVar16 = *(uint *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                    longname.field_2 + 4);\n          uVar30 = uVar16 - 1;\n          if (uVar30 < 0xfffffffe) {\n            if ((symval.output_symtab_index_ != 0) && (symval.output_symtab_index_ != 0xfffffffe)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0031077c to 00310780 has its CatchHandler @ 0031092a */\n              gold::do_gold_unreachable("../../gold/object.h",0x70c,"set_output_symtab_index");\n            }\n            goto LAB_0030fcf0;\n          }\n          if (symval.output_symtab_index_ != 0) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\nLAB_0030fa42:\n          symval.output_symtab_index_ = 0xffffffff;\nLAB_0030fa4a:\n          symval.u_.value =\n               *(Value *)&(pGVar21->help_initializer_).super_Struct_special.option.helparg;\n          bVar29 = *(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                   0xf;\n          if (bVar29 == 6) {\n            symval._8_4_ = symval._8_4_ | 0x20000000;\n          }\n          else if (bVar29 == 10) {\n            symval._8_4_ = symval._8_4_ | 0x40000000;\n          }\n          bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                    helpstring + 3);\n          if ((char)bVar29 < '\0') {\n            pcVar20 = (pGVar21->help_initializer_).super_Struct_special.option.helpstring;\n            if (((ulong)pcVar20 & 0x70000) == 0) {\n              if ((*(uint *)&(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                             field_2 == 0) && ((bVar29 & 0x20) != 0)) {\nLAB_0030fd10:\n                pSVar38 = &symval;\n                uVar30 = 0;\n                goto LAB_0030fd25;\n              }\n            }\n            else if (((ulong)pcVar20 & 0x70000) == 0x40000) goto LAB_0030fd10;\n          }\n          pSVar38 = &symval;\nLAB_0030faa5:\n          symval2._8_4_ = 0x80000000;\n          symval2.output_symtab_index_ = 0;\n          symval2.output_dynsym_index_ = 0xffffffff;\n          symval2.u_.value = 0;\n          if ((long)local_140 < 0) goto LAB_0030fe48;\nLAB_0030fae5:\n          if ((view_size <= local_140) || (view + local_140 == (uchar *)0x0)) goto LAB_0030fe48;\n          uVar37 = local_120[1];\n          if (uVar37 >> 0x18 != 0) {\n            pcVar20 = (char *)gettext("Invalid/unrecognized reloc reloc %d.");\n                    /* try { // try from 0030fb3d to 0030fb59 has its CatchHandler @ 00310922 */\n            gold::gold_error(pcVar20,(ulong)(uVar37 >> 0x18));\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable\n                      ("../../gold/aarch64-reloc-property.h",0xeb,"code_to_array_index");\n          }\n          if (aarch64_reloc_property_table->table_[0] == (AArch64_reloc_property *)0x0) {\n                    /* try { // try from 003104dd to 003104e1 has its CatchHandler @ 00310922 */\n            gold::AArch64_reloc_property_table::reloc_name_in_error_message\n                      (&reloc_name,aarch64_reloc_property_table,0);\n            _Var31 = reloc_name._M_dataplus;\n            pcVar20 = (char *)gettext("cannot relocate %s in object file");\n            uVar37 = *local_120;\n            pGVar32 = local_148;\n                    /* try { // try from 00310510 to 00310514 has its CatchHandler @ 0031091a */\n            gold::gold_error_at_location<32,_true>\n                      (relinfo,(size_t)local_148,\n                       (ulong)(uVar37 >> 0x18 | (uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8 |\n                              uVar37 << 0x18),pcVar20,_Var31._M_p);\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)reloc_name._M_dataplus._M_p != &reloc_name.field_2) {\n              operator_delete(reloc_name._M_dataplus._M_p);\n            }\n          }\n          else {\n            pGVar32 = (General_options *)0x0;\n            pSVar7 = relinfo->object;\n            symval_1._8_4_ = 0x80000000;\n            symval_1.output_symtab_index_ = 0;\n            symval_1.output_dynsym_index_ = 0xffffffff;\n            symval_1.u_.value = 0;\n            if (pGVar21 == (General_options *)0x0) {\n              if ((pSVar38->field_0xb & 0x40) != 0) {\n                uVar37 = ((uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8 | uVar37 << 0x18) >> 8;\n                pGVar32 = (General_options *)(ulong)uVar37;\n                this_00 = pSVar7;\n                    /* try { // try from 00310475 to 003104bc has its CatchHandler @ 00310944 */\n                bVar14 = gold::Sized_relobj_file<32,_true>::local_has_plt_offset(pSVar7,uVar37);\n                if (bVar14) {\n                  pOVar10 = this->plt_;\n                  if (pOVar10 == (Output_data_plt_aarch64<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108c5 to 003108c9 has its CatchHandler @ 00310944 */\n                    plt_section((Target_aarch64<32,_true> *)this_00);\n                  }\n                  if (((pOVar10->super_Output_section_data).super_Output_data.field_0x20 & 1) == 0)\n                  {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108a8 to 003108ac has its CatchHandler @ 00310944 */\n                    gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar22 = (pOVar10->super_Output_section_data).super_Output_data.address_;\n                  uVar30 = pOVar10->count_;\n                  pGVar32 = (General_options *)(ulong)uVar37;\n                  iVar19 = (*(pSVar7->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                             _vptr_Object[0x2a])(pSVar7);\n                  symval_1.u_.value = (int)uVar22 + 0x20 + uVar30 * 0x10 + iVar19;\n                }\n              }\n            }\n            else {\n              uVar37 = aarch64_reloc_property_table->table_[0]->reference_flags_;\n              pGVar32 = (General_options *)(ulong)uVar37;\n                    /* try { // try from 003100df to 00310101 has its CatchHandler @ 00310944 */\n              bVar14 = gold::Symbol::use_plt_offset((Symbol *)pGVar21,uVar37);\n              if (bVar14) {\n                if (this->plt_ == (Output_data_plt_aarch64<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310800 to 00310804 has its CatchHandler @ 00310944 */\n                  plt_section((Target_aarch64<32,_true> *)0x0);\n                }\n                pGVar32 = pGVar21;\n                uVar22 = Output_data_plt_aarch64<32,_true>::address_for_global\n                                   (this->plt_,(Symbol *)pGVar21);\n                symval_1.u_.value = (Value)uVar22;\n              }\n            }\n            gold::Symbol_value<32>::~Symbol_value(&symval_1,(int)pGVar32);\n          }\n          iVar19 = (int)pGVar32;\n          if (pGVar21 != (General_options *)0x0) {\n            bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                      helpstring + 2);\n            bVar15 = bVar29 & 7;\n            if ((bVar29 & 7) == 0) {\n              if ((*(int *)&(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                            field_2 != 0) ||\n                 (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                  0x20000000) == 0)) {\n                pcVar8 = *(code **)(*(long *)(pGVar21->help_initializer_).super_Struct_special.\n                                             option.longname._M_string_length + 0x28);\n                if (pcVar8 != gold::Object::do_pluginobj) {\n                  lVar24 = (*pcVar8)();\n                  iVar19 = (int)pGVar32;\n                  if (lVar24 != 0) {\n                    bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 2);\n                    bVar15 = bVar29 & 7;\n                    if ((bVar29 & 7) == 0) {\n                      uVar37 = *(uint *)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                         longname.field_2;\n                      pGVar32 = (General_options *)(ulong)uVar37;\n                      bVar1 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                               option.helpstring + 3);\n                      if ((uVar37 == 0) && ((bVar1 & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)bVar1 < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar15 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 3)) goto LAB_00310305;\n                    bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 1);\n                    if ((bVar15 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }\nLAB_0031015a:\n                bVar1 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                         helpstring + 1);\n                bVar29 = bVar29 & 7;\n                bVar15 = bVar1 & 3;\n                if ((bVar1 & 3) == 0) goto LAB_003101c0;\nLAB_00310166:\n                if (((*(int *)&(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                               field_2 == 0) &&\n                    (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                     0x20000000) != 0)) &&\n                   ((*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring\n                     >> 4 != 2 &&\n                    (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                     0x200000000) == 0)))) {\nLAB_00310293:\n                  if (gold::parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108dd to 003108e1 has its CatchHandler @ 00310922 */\n                    gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if ((gold::parameters->options_->weak_unresolved_symbols_).value != false) {\n                    if (bVar29 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)((pGVar21->help_initializer_).super_Struct_special.option.longname.\n                                 _M_string_length + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }\n                if (bVar15 == 2) {\n                  uVar23 = gettext("hidden");\n                }\n                else if (bVar15 < 3) {\n                  if (bVar15 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    gold::do_gold_unreachable("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar23 = gettext("internal");\n                }\n                else {\n                  uVar23 = gettext("protected");\n                }\n                pp_Var2 = (pGVar21->help_initializer_).super_Struct_special.super_Struct_var.\n                          _vptr_Struct_var;\n                pcVar20 = (char *)gettext("%s symbol \'%s\' is not defined locally");\n                    /* try { // try from 003101b4 to 0031042c has its CatchHandler @ 00310922 */\n                gold::gold_error(pcVar20,uVar23,pp_Var2);\n                iVar19 = (int)uVar23;\n                goto LAB_003101c0;\n              }\nLAB_0031020c:\n              if ((*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring >>\n                   4 == 2) ||\n                 (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                  0x200000000) != 0)) {\nLAB_00310438:\n                iVar19 = (int)pGVar32;\n                bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 1) & 3;\nLAB_0031043f:\n                if (bVar15 == 0) goto LAB_003101c0;\n                bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 2) & 7;\n                if (bVar29 != 0) goto LAB_00310270;\n                goto LAB_00310166;\n              }\n              pGVar32 = gold::parameters->options_;\n              if (pGVar32 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310878 to 0031087c has its CatchHandler @ 00310922 */\n                gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((pGVar32->weak_unresolved_symbols_).value != false) goto LAB_00310438;\n              if (*(char *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                   helpstring + 3) < '\0') {\n                if (bVar15 != 0) goto LAB_00310260;\nLAB_003105b8:\n                iVar19 = (int)pGVar32;\n                pcVar8 = *(code **)(*(long *)(pGVar21->help_initializer_).super_Struct_special.\n                                             option.longname._M_string_length + 0x28);\n                if (pcVar8 == gold::Object::do_pluginobj) goto LAB_0031015a;\n                    /* try { // try from 003105cc to 003105cd has its CatchHandler @ 00310922 */\n                lVar24 = (*pcVar8)();\n                if (lVar24 == 0) goto LAB_00310438;\n              }\nLAB_00310305:\n              iVar19 = (int)pGVar32;\n              if (gold::parameters->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310818 to 0031084c has its CatchHandler @ 00310922 */\n                gold::do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n              }\n              p_Var3 = gold::parameters->target_->_vptr_Target[7];\n              if (p_Var3 != gold::Target::do_is_defined_by_abi) {\n                pGVar32 = pGVar21;\n                iVar18 = (*p_Var3)();\n                iVar19 = (int)pGVar32;\n                if ((char)iVar18 != '\0') goto LAB_00310438;\n              }\n              pGVar9 = gold::parameters->options_;\n              if (pGVar9 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              pGVar34 = (General_options *)(pGVar9->unresolved_symbols_).value;\n              bVar14 = false;\n              bVar40 = pGVar34 == (General_options *)0x0;\n              if (bVar40) {\n                bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 1) & 3;\nLAB_003103c9:\n                if ((bVar15 == 2) ||\n                   (((pGVar9->shared_).value == false || ((pGVar9->defs_).value != false))))\n                goto LAB_003103e1;\n                goto LAB_0031043f;\n              }\n              lVar24 = 0xb;\n              pGVar33 = pGVar34;\n              pbVar36 = (byte *)"ignore-all";\n              do {\n                pGVar32 = pGVar33;\n                if (lVar24 == 0) break;\n                lVar24 = lVar24 + -1;\n                pGVar32 = (General_options *)((long)pGVar33 + (ulong)bVar41 * -2 + 1);\n                bVar29 = *(byte *)&(pGVar33->help_initializer_).super_Struct_special.\n                                   super_Struct_var._vptr_Struct_var;\n                bVar14 = bVar29 < *pbVar36;\n                bVar40 = bVar29 == *pbVar36;\n                pGVar33 = pGVar32;\n                pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n              } while (bVar40);\n              bVar39 = false;\n              bVar14 = (!bVar14 && !bVar40) == bVar14;\n              if (bVar14) goto LAB_00310438;\n              lVar24 = 0xb;\n              pGVar32 = pGVar34;\n              pbVar36 = (byte *)"report-all";\n              do {\n                if (lVar24 == 0) break;\n                lVar24 = lVar24 + -1;\n                bVar29 = *(byte *)&(pGVar32->help_initializer_).super_Struct_special.\n                                   super_Struct_var._vptr_Struct_var;\n                bVar39 = bVar29 < *pbVar36;\n                bVar14 = bVar29 == *pbVar36;\n                pGVar32 = (General_options *)((long)pGVar32 + (ulong)bVar41 * -2 + 1);\n                pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n              } while (bVar14);\n              bVar40 = false;\n              bVar14 = (!bVar39 && !bVar14) == bVar39;\n              if (!bVar14) {\n                lVar24 = 0x17;\n                pGVar32 = pGVar34;\n                pbVar36 = (byte *)"ignore-in-object-files";\n                do {\n                  pGVar33 = pGVar32;\n                  if (lVar24 == 0) break;\n                  lVar24 = lVar24 + -1;\n                  pGVar33 = (General_options *)((long)pGVar32 + (ulong)bVar41 * -2 + 1);\n                  bVar29 = *(byte *)&(pGVar32->help_initializer_).super_Struct_special.\n                                     super_Struct_var._vptr_Struct_var;\n                  bVar40 = bVar29 < *pbVar36;\n                  bVar14 = bVar29 == *pbVar36;\n                  pGVar32 = pGVar33;\n                  pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                } while (bVar14);\n                iVar19 = (int)pGVar33;\n                bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 1) & 3;\n                bVar14 = (!bVar40 && !bVar14) == bVar40;\n                if ((!bVar14) ||\n                   (bVar14 = ((ulong)(pGVar21->help_initializer_).super_Struct_special.option.\n                                     helpstring & 0x1000000) == 0, !bVar14)) {\n                  bVar40 = false;\n                  lVar24 = 0x16;\n                  pbVar36 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    pGVar32 = pGVar34;\n                    if (lVar24 == 0) break;\n                    lVar24 = lVar24 + -1;\n                    pGVar32 = (General_options *)((long)pGVar34 + (ulong)bVar41 * -2 + 1);\n                    bVar29 = *(byte *)&(pGVar34->help_initializer_).super_Struct_special.\n                                       super_Struct_var._vptr_Struct_var;\n                    bVar40 = bVar29 < *pbVar36;\n                    bVar14 = bVar29 == *pbVar36;\n                    pGVar34 = pGVar32;\n                    pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                  } while (bVar14);\n                  iVar19 = (int)pGVar32;\n                  if (((!bVar40 && !bVar14) != bVar40) ||\n                     (*(char *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                       helpstring + 2) < '\0')) goto LAB_003103c9;\n                }\n                goto LAB_0031043f;\n              }\nLAB_003103e1:\n              pRVar35 = relinfo;\n              gold::gold_undefined_symbol_at_location<32,_true>\n                        ((Symbol *)pGVar21,relinfo,(size_t)local_148,local_140);\n              iVar19 = (int)pRVar35;\n              bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                        helpstring + 3);\n            }\n            else {\n              if (bVar15 == 4) goto LAB_0031020c;\nLAB_00310260:\n              iVar19 = (int)pGVar32;\n              bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                        helpstring + 1);\n              if ((bVar15 & 3) != 0) {\nLAB_0031026d:\n                bVar15 = bVar15 & 3;\n                bVar29 = bVar29 & 7;\nLAB_00310270:\n                if (((bVar29 == 4) &&\n                    (*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring\n                     >> 4 != 2)) &&\n                   (bVar29 = 4,\n                   ((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                   0x200000000) == 0)) goto LAB_00310293;\n              }\nLAB_003101c0:\n              bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                        helpstring + 3);\n            }\n            if ((bVar29 & 4) != 0) {\n              gold::Warnings::issue_warning<32,_true>\n                        (&relinfo->symtab->warnings_,(Symbol *)pGVar21,relinfo,(size_t)local_148,\n                         local_140);\n              iVar19 = (int)pGVar21;\n            }\n          }\n        }" if (parenthesized_expression "(uVar37 < local_ec)" ( (binary_expression "uVar37 < local_ec" identifier < identifier) )) (compound_statement "{\n          if ((reloc_symbol_changes != (Reloc_symbol_changes *)0x0) &&\n             (pGVar21 = (General_options *)\n                        (reloc_symbol_changes->vec_).\n                        super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                        _M_start[(long)local_148], pGVar21 != (General_options *)0x0)) {\nLAB_0030fa33:\n            uVar16 = *(uint *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                      longname.field_2 + 4);\n            uVar30 = uVar16 - 1;\n            if (0xfffffffd < uVar30) goto LAB_0030fa42;\nLAB_0030fcf0:\n            if (uVar30 == 0xfffffffd) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/object.h",0x70d,"set_output_symtab_index");\n            }\n            symval.output_symtab_index_ = uVar16;\n            goto LAB_0030fa4a;\n          }\n          pSVar4 = (this_01->local_values_).\n                   super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                   ._M_impl._M_start;\n          if ((ulong)(((long)(this_01->local_values_).\n                             super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                             ._M_impl._M_finish - (long)pSVar4 >> 3) * -0x5555555555555555) <=\n              (ulong)uVar37) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/object.h",0x8c1,"local_symbol");\n          }\n          pSVar38 = pSVar4 + uVar37;\n          uVar16 = *(uint *)&pSVar38->field_0x8 & 0x7ffffff;\n          uVar30 = *(uint *)&pSVar38->field_0x8 & 0x7ffffff;\n          if (((pSVar38->field_0xb & 8) == 0) || (uVar16 == 0)) {\nLAB_0030fbb3:\n            pGVar21 = (General_options *)0x0;\n            goto LAB_0030faa5;\n          }\n          ppOVar6 = (this_01->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;\n          if ((ulong)((long)(this_01->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (long)ppOVar6 >> 3) <= (ulong)uVar16) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310860 to 00310864 has its CatchHandler @ 0031092a */\n            gold::do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (ppOVar6[uVar16] != (Output_section *)0x0) goto LAB_0030fbb3;\n          bVar14 = gold::Symbol_table::is_section_folded(relinfo->symtab,(Relobj *)this_01,uVar30);\n          pGVar21 = (General_options *)0x0;\n          if (bVar14) {\n            pGVar21 = (General_options *)0x0;\n            goto LAB_0030faa5;\n          }\nLAB_0030fd25:\n          symval2._8_4_ = 0x80000000;\n          symval2.output_symtab_index_ = 0;\n          symval2.output_dynsym_index_ = 0xffffffff;\n          symval2.u_.value = 0;\n          p_Var3 = (this_01->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object\n                   [0x10];\n          if (p_Var3 == gold::Sized_relobj_file<32,_true>::do_section_name) {\n                    /* try { // try from 0030fd86 to 0030fd8a has its CatchHandler @ 00310922 */\n            elfcpp::Elf_file<32,_true,_gold::Object>::section_name\n                      (&reloc_name,&this_01->elf_file_,relinfo->data_shndx);\n          }\n          else {\n                    /* try { // try from 00310038 to 00310039 has its CatchHandler @ 00310922 */\n            (*p_Var3)(&reloc_name,this_01);\n          }\n          bVar14 = false;\n          bVar40 = iVar13 == 0;\n          if (bVar40) {\n            lVar24 = 6;\n            _Var31._M_p = reloc_name._M_dataplus._M_p;\n            pbVar36 = &DAT_00533552;\n            do {\n              if (lVar24 == 0) break;\n              lVar24 = lVar24 + -1;\n              bVar14 = (byte)*_Var31._M_p < *pbVar36;\n              bVar40 = *_Var31._M_p == *pbVar36;\n              _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n              pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n            } while (bVar40);\n            bVar39 = false;\n            bVar14 = (!bVar14 && !bVar40) == bVar14;\n            if (!bVar14) {\n              lVar24 = 7;\n              _Var31._M_p = reloc_name._M_dataplus._M_p;\n              pbVar36 = (byte *)".zdebug";\n              do {\n                if (lVar24 == 0) break;\n                lVar24 = lVar24 + -1;\n                bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                bVar14 = *_Var31._M_p == *pbVar36;\n                _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n              } while (bVar14);\n              bVar40 = false;\n              bVar14 = (!bVar39 && !bVar14) == bVar39;\n              if (!bVar14) {\n                lVar24 = 0x11;\n                _Var31._M_p = reloc_name._M_dataplus._M_p;\n                pbVar36 = (byte *)".gnu.linkonce.wi.";\n                do {\n                  if (lVar24 == 0) break;\n                  lVar24 = lVar24 + -1;\n                  bVar40 = (byte)*_Var31._M_p < *pbVar36;\n                  bVar14 = *_Var31._M_p == *pbVar36;\n                  _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                  pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                } while (bVar14);\n                bVar39 = false;\n                bVar14 = (!bVar40 && !bVar14) == bVar40;\n                if (!bVar14) {\n                  lVar24 = 5;\n                  _Var31._M_p = reloc_name._M_dataplus._M_p;\n                  pbVar36 = (byte *)".line";\n                  do {\n                    if (lVar24 == 0) break;\n                    lVar24 = lVar24 + -1;\n                    bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                    bVar14 = *_Var31._M_p == *pbVar36;\n                    _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                    pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                  } while (bVar14);\n                  bVar40 = false;\n                  bVar14 = (!bVar39 && !bVar14) == bVar39;\n                  if (!bVar14) {\n                    lVar24 = 5;\n                    _Var31._M_p = reloc_name._M_dataplus._M_p;\n                    pbVar36 = (byte *)".stab";\n                    do {\n                      if (lVar24 == 0) break;\n                      lVar24 = lVar24 + -1;\n                      bVar40 = (byte)*_Var31._M_p < *pbVar36;\n                      bVar14 = *_Var31._M_p == *pbVar36;\n                      _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                      pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                    } while (bVar14);\n                    bVar39 = false;\n                    bVar14 = (!bVar40 && !bVar14) == bVar40;\n                    if (!bVar14) {\n                      lVar24 = 4;\n                      _Var31._M_p = reloc_name._M_dataplus._M_p;\n                      pbVar36 = &DAT_0053357f;\n                      do {\n                        if (lVar24 == 0) break;\n                        lVar24 = lVar24 + -1;\n                        bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                        bVar14 = *_Var31._M_p == *pbVar36;\n                        _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                        pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                      } while (bVar14);\n                      bVar40 = false;\n                      bVar14 = (!bVar39 && !bVar14) == bVar39;\n                      if (!bVar14) {\n                        lVar24 = 10;\n                        _Var31._M_p = reloc_name._M_dataplus._M_p;\n                        pbVar36 = (byte *)".eh_frame";\n                        do {\n                          if (lVar24 == 0) break;\n                          lVar24 = lVar24 + -1;\n                          bVar40 = (byte)*_Var31._M_p < *pbVar36;\n                          bVar14 = *_Var31._M_p == *pbVar36;\n                          _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                          pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                        } while (bVar14);\n                        bVar39 = false;\n                        bVar14 = (!bVar40 && !bVar14) == bVar40;\n                        if (!bVar14) {\n                          lVar24 = 0x12;\n                          _Var31._M_p = reloc_name._M_dataplus._M_p;\n                          pbVar36 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar24 == 0) break;\n                            lVar24 = lVar24 + -1;\n                            bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                            bVar14 = *_Var31._M_p == *pbVar36;\n                            _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                            pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                          } while (bVar14);\n                          if ((!bVar39 && !bVar14) != bVar39) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0030fdc0:\n                    /* try { // try from 0030fdd2 to 0030fdd6 has its CatchHandler @ 00310912 */\n            AVar17 = gold::Sized_relobj_file<32,_true>::map_to_kept_section\n                               (this_01,uVar30,&reloc_name,&found);\n            symval2.u_.value = 0;\n            if (found != false) {\n              symval2.u_.value = AVar17 + (pSVar38->u_).value;\n            }\n            iVar13 = 1;\n          }\n          else {\n            if (iVar13 == 1) goto LAB_0030fdc0;\n            if (iVar13 == 3) {\nLAB_0030ff50:\n              pSVar7 = relinfo->object;\n              if (pGVar21 == (General_options *)0x0) {\n                    /* try { // try from 003105ee to 0031061d has its CatchHandler @ 00310912 */\n                pcVar20 = gold::Sized_relobj_file<32,_true>::get_symbol_name(pSVar7,uVar37);\n                pcVar27 = (char *)gettext(\n                                         "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                         );\n                gold::gold_error_at_location<32,_true>\n                          (relinfo,(size_t)local_148,local_140,pcVar27,pcVar20,(ulong)uVar37);\n              }\n              else {\n                    /* try { // try from 0030ff70 to 0030ff74 has its CatchHandler @ 00310912 */\n                gold::Symbol::demangled_name((string *)&found,(Symbol *)pGVar21);\n                uVar23 = CONCAT71(uStack_77,found);\n                pcVar20 = (char *)gettext(\n                                         "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                         );\n                    /* try { // try from 0030ffa4 to 0030ffa8 has its CatchHandler @ 0031093c */\n                gold::gold_error_at_location<32,_true>\n                          (relinfo,(size_t)local_148,local_140,pcVar20,uVar23);\n                if ((undefined1 *)CONCAT71(uStack_77,found) != auStack_68) {\n                  operator_delete((undefined1 *)CONCAT71(uStack_77,found));\n                }\n              }\n                    /* try { // try from 0030ffd1 to 0030ffd5 has its CatchHandler @ 00310912 */\n              uVar37 = gold::Sized_relobj_file<32,_true>::symbol_section_and_value\n                                 (pSVar7,uVar37,&value,&is_ordinary);\n              if (uVar37 != 0) {\n                    /* try { // try from 00310544 to 0031057d has its CatchHandler @ 00310912 */\n                pRVar25 = gold::Sized_relobj_file<32,_true>::find_kept_section_object\n                                    (pSVar7,uVar37,&key_symndx);\n                if (key_symndx != 0) {\n                    /* try { // try from 00310725 to 00310745 has its CatchHandler @ 00310912 */\n                  pcVar20 = gold::Sized_relobj_file<32,_true>::get_symbol_name(pSVar7,key_symndx);\n                  pcVar27 = (char *)gettext("  section group signature: \"%s\"");\n                  gold::gold_info(pcVar27,pcVar20);\n                }\n                if (pRVar25 != (Relobj *)0x0) {\n                  pcVar11 = (pRVar25->super_Object).name_._M_dataplus._M_p;\n                  pcVar20 = (char *)gettext("  prevailing definition is from %s");\n                  gold::gold_info(pcVar20,pcVar11);\n                }\n              }\n              iVar13 = 3;\n            }\n            else {\nLAB_00310006:\n              iVar13 = 2;\n            }\n            symval2.u_.value = 0;\n          }\n          if (symval2.output_symtab_index_ != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310794 to 00310798 has its CatchHandler @ 00310912 */\n            gold::do_gold_unreachable("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\n          symval2.output_symtab_index_ = 0xffffffff;\n          if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)reloc_name._M_dataplus._M_p != &reloc_name.field_2) {\n            operator_delete(reloc_name._M_dataplus._M_p);\n          }\n          pSVar38 = &symval2;\n          if (-1 < (long)local_140) goto LAB_0030fae5;\nLAB_0030fe48:\n          pcVar20 = (char *)gettext("reloc has bad offset %zu");\n          pGVar21 = local_148;\n                    /* try { // try from 0030fe68 to 0030fe6c has its CatchHandler @ 00310922 */\n          gold::gold_error_at_location<32,_true>\n                    (relinfo,(size_t)local_148,local_140,pcVar20,local_140);\n          iVar19 = (int)pGVar21;\n        }" { (if_statement "if ((reloc_symbol_changes != (Reloc_symbol_changes *)0x0) &&\n             (pGVar21 = (General_options *)\n                        (reloc_symbol_changes->vec_).\n                        super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                        _M_start[(long)local_148], pGVar21 != (General_options *)0x0)) {\nLAB_0030fa33:\n            uVar16 = *(uint *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                      longname.field_2 + 4);\n            uVar30 = uVar16 - 1;\n            if (0xfffffffd < uVar30) goto LAB_0030fa42;\nLAB_0030fcf0:\n            if (uVar30 == 0xfffffffd) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/object.h",0x70d,"set_output_symtab_index");\n            }\n            symval.output_symtab_index_ = uVar16;\n            goto LAB_0030fa4a;\n          }" if (parenthesized_expression "((reloc_symbol_changes != (Reloc_symbol_changes *)0x0) &&\n             (pGVar21 = (General_options *)\n                        (reloc_symbol_changes->vec_).\n                        super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                        _M_start[(long)local_148], pGVar21 != (General_options *)0x0))" ( (binary_expression "(reloc_symbol_changes != (Reloc_symbol_changes *)0x0) &&\n             (pGVar21 = (General_options *)\n                        (reloc_symbol_changes->vec_).\n                        super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                        _M_start[(long)local_148], pGVar21 != (General_options *)0x0)" (parenthesized_expression "(reloc_symbol_changes != (Reloc_symbol_changes *)0x0)" ( (binary_expression "reloc_symbol_changes != (Reloc_symbol_changes *)0x0" identifier != (cast_expression "(Reloc_symbol_changes *)0x0" ( (type_descriptor "Reloc_symbol_changes *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(pGVar21 = (General_options *)\n                        (reloc_symbol_changes->vec_).\n                        super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                        _M_start[(long)local_148], pGVar21 != (General_options *)0x0)" ( (comma_expression "pGVar21 = (General_options *)\n                        (reloc_symbol_changes->vec_).\n                        super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                        _M_start[(long)local_148], pGVar21 != (General_options *)0x0" (subscript_expression "pGVar21 = (General_options *)\n                        (reloc_symbol_changes->vec_).\n                        super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                        _M_start[(long)local_148]" (field_expression "pGVar21 = (General_options *)\n                        (reloc_symbol_changes->vec_).\n                        super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                        _M_start" (field_expression "pGVar21 = (General_options *)\n                        (reloc_symbol_changes->vec_).\n                        super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl" (binary_expression "pGVar21 = (General_options *)\n                        (reloc_symbol_changes->vec_).\n                        super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "pGVar21 = (General_options *)\n                        (reloc_symbol_changes->vec_).\n                        super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "pGVar21 = (General_options *)\n                        (reloc_symbol_changes->vec_).\n                        super__Vector_base<gold::Symbol*,_std" (assignment_expression "pGVar21 = (General_options *)\n                        (reloc_symbol_changes->vec_).\n                        super__Vector_base<gold" identifier = (binary_expression "(General_options *)\n                        (reloc_symbol_changes->vec_).\n                        super__Vector_base<gold" (cast_expression "(General_options *)\n                        (reloc_symbol_changes->vec_).\n                        super__Vector_base" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(reloc_symbol_changes->vec_).\n                        super__Vector_base" (parenthesized_expression "(reloc_symbol_changes->vec_)" ( (field_expression "reloc_symbol_changes->vec_" identifier -> field_identifier) )) . field_identifier)) < identifier)) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) [ (cast_expression "(long)local_148" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) ]) , (binary_expression "pGVar21 != (General_options *)0x0" identifier != (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\nLAB_0030fa33:\n            uVar16 = *(uint *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                      longname.field_2 + 4);\n            uVar30 = uVar16 - 1;\n            if (0xfffffffd < uVar30) goto LAB_0030fa42;\nLAB_0030fcf0:\n            if (uVar30 == 0xfffffffd) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/object.h",0x70d,"set_output_symtab_index");\n            }\n            symval.output_symtab_index_ = uVar16;\n            goto LAB_0030fa4a;\n          }" { (labeled_statement "LAB_0030fa33:\n            uVar16 = *(uint *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                      longname.field_2 + 4);" statement_identifier : (expression_statement "uVar16 = *(uint *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                      longname.field_2 + 4);" (assignment_expression "uVar16 = *(uint *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                      longname.field_2 + 4)" identifier = (pointer_expression "*(uint *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                      longname.field_2 + 4)" * (cast_expression "(uint *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                      longname.field_2 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                      longname.field_2 + 4)" ( (binary_expression "(long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                      longname.field_2 + 4" (cast_expression "(long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                      longname.field_2" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&(pGVar21->help_initializer_).super_Struct_special.option.\n                                      longname.field_2" & (field_expression "(pGVar21->help_initializer_).super_Struct_special.option.\n                                      longname.field_2" (field_expression "(pGVar21->help_initializer_).super_Struct_special.option.\n                                      longname" (field_expression "(pGVar21->help_initializer_).super_Struct_special.option" (field_expression "(pGVar21->help_initializer_).super_Struct_special" (parenthesized_expression "(pGVar21->help_initializer_)" ( (field_expression "pGVar21->help_initializer_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier))) + number_literal) ))))) ;)) (expression_statement "uVar30 = uVar16 - 1;" (assignment_expression "uVar30 = uVar16 - 1" identifier = (binary_expression "uVar16 - 1" identifier - number_literal)) ;) (if_statement "if (0xfffffffd < uVar30) goto LAB_0030fa42;" if (parenthesized_expression "(0xfffffffd < uVar30)" ( (binary_expression "0xfffffffd < uVar30" number_literal < identifier) )) (goto_statement "goto LAB_0030fa42;" goto statement_identifier ;)) (labeled_statement "LAB_0030fcf0:\n            if (uVar30 == 0xfffffffd) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/object.h",0x70d,"set_output_symtab_index");\n            }" statement_identifier : (if_statement "if (uVar30 == 0xfffffffd) {\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/object.h",0x70d,"set_output_symtab_index");\n            }" if (parenthesized_expression "(uVar30 == 0xfffffffd)" ( (binary_expression "uVar30 == 0xfffffffd" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/object.h",0x70d,"set_output_symtab_index");\n            }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/object.h",0x70d,"set_output_symtab_index");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/object.h",0x70d,"set_output_symtab_index");" (call_expression "do_gold_unreachable("../../gold/object.h",0x70d,"set_output_symtab_index")" identifier (argument_list "("../../gold/object.h",0x70d,"set_output_symtab_index")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""set_output_symtab_index"" " string_content ") ))) ;)) }))) (expression_statement "symval.output_symtab_index_ = uVar16;" (assignment_expression "symval.output_symtab_index_ = uVar16" (field_expression "symval.output_symtab_index_" identifier . field_identifier) = identifier) ;) (goto_statement "goto LAB_0030fa4a;" goto statement_identifier ;) })) (expression_statement "pSVar4 = (this_01->local_values_).\n                   super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                   ._M_impl._M_start;" (field_expression "pSVar4 = (this_01->local_values_).\n                   super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                   ._M_impl._M_start" (field_expression "pSVar4 = (this_01->local_values_).\n                   super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                   ._M_impl" (binary_expression "pSVar4 = (this_01->local_values_).\n                   super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_" (binary_expression "pSVar4 = (this_01->local_values_).\n                   super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_" (binary_expression "pSVar4 = (this_01->local_values_).\n                   super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32" (binary_expression "pSVar4 = (this_01->local_values_).\n                   super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold" (binary_expression "pSVar4 = (this_01->local_values_).\n                   super__Vector_base<gold::Symbol_value<32>,_std" (binary_expression "pSVar4 = (this_01->local_values_).\n                   super__Vector_base<gold::Symbol_value<32" (assignment_expression "pSVar4 = (this_01->local_values_).\n                   super__Vector_base<gold" identifier = (binary_expression "(this_01->local_values_).\n                   super__Vector_base<gold" (field_expression "(this_01->local_values_).\n                   super__Vector_base" (parenthesized_expression "(this_01->local_values_)" ( (field_expression "this_01->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) ;) (if_statement "if ((ulong)(((long)(this_01->local_values_).\n                             super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                             ._M_impl._M_finish - (long)pSVar4 >> 3) * -0x5555555555555555) <=\n              (ulong)uVar37) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/object.h",0x8c1,"local_symbol");\n          }" if (parenthesized_expression "((ulong)(((long)(this_01->local_values_).\n                             super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                             ._M_impl._M_finish - (long)pSVar4 >> 3) * -0x5555555555555555) <=\n              (ulong)uVar37)" ( (binary_expression "(ulong)(((long)(this_01->local_values_).\n                             super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                             ._M_impl._M_finish - (long)pSVar4 >> 3) * -0x5555555555555555) <=\n              (ulong)uVar37" (call_expression "(ulong)(((long)(this_01->local_values_).\n                             super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                             ._M_impl._M_finish - (long)pSVar4 >> 3) * -0x5555555555555555)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(((long)(this_01->local_values_).\n                             super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                             ._M_impl._M_finish - (long)pSVar4 >> 3) * -0x5555555555555555)" ( (binary_expression "((long)(this_01->local_values_).\n                             super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                             ._M_impl._M_finish - (long)pSVar4 >> 3) * -0x5555555555555555" (parenthesized_expression "((long)(this_01->local_values_).\n                             super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                             ._M_impl._M_finish - (long)pSVar4 >> 3)" ( (binary_expression "(long)(this_01->local_values_).\n                             super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                             ._M_impl._M_finish - (long)pSVar4 >> 3" (binary_expression "(long)(this_01->local_values_).\n                             super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                             ._M_impl._M_finish - (long)pSVar4" (field_expression "(long)(this_01->local_values_).\n                             super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                             ._M_impl._M_finish" (field_expression "(long)(this_01->local_values_).\n                             super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_>\n                             ._M_impl" (binary_expression "(long)(this_01->local_values_).\n                             super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_>_" (binary_expression "(long)(this_01->local_values_).\n                             super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32>_" (binary_expression "(long)(this_01->local_values_).\n                             super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold::Symbol_value<32" (binary_expression "(long)(this_01->local_values_).\n                             super__Vector_base<gold::Symbol_value<32>,_std::allocator<gold" (binary_expression "(long)(this_01->local_values_).\n                             super__Vector_base<gold::Symbol_value<32>,_std" (binary_expression "(long)(this_01->local_values_).\n                             super__Vector_base<gold::Symbol_value<32" (binary_expression "(long)(this_01->local_values_).\n                             super__Vector_base<gold" (cast_expression "(long)(this_01->local_values_).\n                             super__Vector_base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "(this_01->local_values_).\n                             super__Vector_base" (parenthesized_expression "(this_01->local_values_)" ( (field_expression "this_01->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) - (cast_expression "(long)pSVar4" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) >> number_literal) )) * number_literal) ))) <= (cast_expression "(ulong)uVar37" ( (type_descriptor "ulong" type_identifier) ) identifier)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/object.h",0x8c1,"local_symbol");\n          }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/object.h",0x8c1,"local_symbol");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/object.h",0x8c1,"local_symbol");" (call_expression "do_gold_unreachable("../../gold/object.h",0x8c1,"local_symbol")" identifier (argument_list "("../../gold/object.h",0x8c1,"local_symbol")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""local_symbol"" " string_content ") ))) ;)) })) (expression_statement "pSVar38 = pSVar4 + uVar37;" (assignment_expression "pSVar38 = pSVar4 + uVar37" identifier = (binary_expression "pSVar4 + uVar37" identifier + identifier)) ;) (expression_statement "uVar16 = *(uint *)&pSVar38->field_0x8 & 0x7ffffff;" (assignment_expression "uVar16 = *(uint *)&pSVar38->field_0x8 & 0x7ffffff" identifier = (binary_expression "*(uint *)&pSVar38->field_0x8 & 0x7ffffff" (pointer_expression "*(uint *)&pSVar38->field_0x8" * (cast_expression "(uint *)&pSVar38->field_0x8" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pSVar38->field_0x8" & (field_expression "pSVar38->field_0x8" identifier -> field_identifier)))) & number_literal)) ;) (expression_statement "uVar30 = *(uint *)&pSVar38->field_0x8 & 0x7ffffff;" (assignment_expression "uVar30 = *(uint *)&pSVar38->field_0x8 & 0x7ffffff" identifier = (binary_expression "*(uint *)&pSVar38->field_0x8 & 0x7ffffff" (pointer_expression "*(uint *)&pSVar38->field_0x8" * (cast_expression "(uint *)&pSVar38->field_0x8" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pSVar38->field_0x8" & (field_expression "pSVar38->field_0x8" identifier -> field_identifier)))) & number_literal)) ;) (if_statement "if (((pSVar38->field_0xb & 8) == 0) || (uVar16 == 0)) {\nLAB_0030fbb3:\n            pGVar21 = (General_options *)0x0;\n            goto LAB_0030faa5;\n          }" if (parenthesized_expression "(((pSVar38->field_0xb & 8) == 0) || (uVar16 == 0))" ( (binary_expression "((pSVar38->field_0xb & 8) == 0) || (uVar16 == 0)" (parenthesized_expression "((pSVar38->field_0xb & 8) == 0)" ( (binary_expression "(pSVar38->field_0xb & 8) == 0" (parenthesized_expression "(pSVar38->field_0xb & 8)" ( (binary_expression "pSVar38->field_0xb & 8" (field_expression "pSVar38->field_0xb" identifier -> field_identifier) & number_literal) )) == number_literal) )) || (parenthesized_expression "(uVar16 == 0)" ( (binary_expression "uVar16 == 0" identifier == number_literal) ))) )) (compound_statement "{\nLAB_0030fbb3:\n            pGVar21 = (General_options *)0x0;\n            goto LAB_0030faa5;\n          }" { (labeled_statement "LAB_0030fbb3:\n            pGVar21 = (General_options *)0x0;" statement_identifier : (expression_statement "pGVar21 = (General_options *)0x0;" (assignment_expression "pGVar21 = (General_options *)0x0" identifier = (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (goto_statement "goto LAB_0030faa5;" goto statement_identifier ;) })) (expression_statement "ppOVar6 = (this_01->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start;" (field_expression "ppOVar6 = (this_01->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl._M_start" (field_expression "ppOVar6 = (this_01->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    ._M_impl" (binary_expression "ppOVar6 = (this_01->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "ppOVar6 = (this_01->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "ppOVar6 = (this_01->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                    super__Vector_base<gold::Output_section*,_std" (assignment_expression "ppOVar6 = (this_01->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                    super__Vector_base<gold" identifier = (binary_expression "(this_01->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                    super__Vector_base<gold" (field_expression "(this_01->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                    super__Vector_base" (field_expression "(this_01->super_Sized_relobj<32,_true>).super_Relobj.output_sections_" (field_expression "(this_01->super_Sized_relobj<32,_true>).super_Relobj" (parenthesized_expression "(this_01->super_Sized_relobj<32,_true>)" ( (comma_expression "this_01->super_Sized_relobj<32,_true" (binary_expression "this_01->super_Sized_relobj<32" (field_expression "this_01->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) ;) (if_statement "if ((ulong)((long)(this_01->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (long)ppOVar6 >> 3) <= (ulong)uVar16) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310860 to 00310864 has its CatchHandler @ 0031092a */\n            gold::do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n          }" if (parenthesized_expression "((ulong)((long)(this_01->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (long)ppOVar6 >> 3) <= (ulong)uVar16)" ( (binary_expression "(ulong)((long)(this_01->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (long)ppOVar6 >> 3) <= (ulong)uVar16" (call_expression "(ulong)((long)(this_01->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (long)ppOVar6 >> 3)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((long)(this_01->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (long)ppOVar6 >> 3)" ( (binary_expression "(long)(this_01->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (long)ppOVar6 >> 3" (binary_expression "(long)(this_01->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish - (long)ppOVar6" (field_expression "(long)(this_01->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl._M_finish" (field_expression "(long)(this_01->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                            ._M_impl" (binary_expression "(long)(this_01->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "(long)(this_01->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "(long)(this_01->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                            super__Vector_base<gold::Output_section*,_std" (binary_expression "(long)(this_01->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                            super__Vector_base<gold" (cast_expression "(long)(this_01->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                            super__Vector_base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "(this_01->super_Sized_relobj<32,_true>).super_Relobj.output_sections_.\n                            super__Vector_base" (field_expression "(this_01->super_Sized_relobj<32,_true>).super_Relobj.output_sections_" (field_expression "(this_01->super_Sized_relobj<32,_true>).super_Relobj" (parenthesized_expression "(this_01->super_Sized_relobj<32,_true>)" ( (comma_expression "this_01->super_Sized_relobj<32,_true" (binary_expression "this_01->super_Sized_relobj<32" (field_expression "this_01->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) - (cast_expression "(long)ppOVar6" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) >> number_literal) ))) <= (cast_expression "(ulong)uVar16" ( (type_descriptor "ulong" type_identifier) ) identifier)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310860 to 00310864 has its CatchHandler @ 0031092a */\n            gold::do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");\n          }" { comment comment (labeled_statement "gold::do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included");" (call_expression "do_gold_unreachable("../../gold/object.h",0x50b,"is_section_included")" identifier (argument_list "("../../gold/object.h",0x50b,"is_section_included")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""is_section_included"" " string_content ") ))) ;)) })) (if_statement "if (ppOVar6[uVar16] != (Output_section *)0x0) goto LAB_0030fbb3;" if (parenthesized_expression "(ppOVar6[uVar16] != (Output_section *)0x0)" ( (binary_expression "ppOVar6[uVar16] != (Output_section *)0x0" (subscript_expression "ppOVar6[uVar16]" identifier [ identifier ]) != (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0030fbb3;" goto statement_identifier ;)) (ERROR "bVar14 = gold::" (assignment_expression "bVar14 = gold" identifier = identifier) : :) (labeled_statement "Symbol_table::is_section_folded(relinfo->symtab,(Relobj *)this_01,uVar30);" statement_identifier : (ERROR ":" :) (expression_statement "is_section_folded(relinfo->symtab,(Relobj *)this_01,uVar30);" (call_expression "is_section_folded(relinfo->symtab,(Relobj *)this_01,uVar30)" identifier (argument_list "(relinfo->symtab,(Relobj *)this_01,uVar30)" ( (field_expression "relinfo->symtab" identifier -> field_identifier) , (cast_expression "(Relobj *)this_01" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;)) (expression_statement "pGVar21 = (General_options *)0x0;" (assignment_expression "pGVar21 = (General_options *)0x0" identifier = (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (bVar14) {\n            pGVar21 = (General_options *)0x0;\n            goto LAB_0030faa5;\n          }" if (parenthesized_expression "(bVar14)" ( identifier )) (compound_statement "{\n            pGVar21 = (General_options *)0x0;\n            goto LAB_0030faa5;\n          }" { (expression_statement "pGVar21 = (General_options *)0x0;" (assignment_expression "pGVar21 = (General_options *)0x0" identifier = (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_0030faa5;" goto statement_identifier ;) })) (labeled_statement "LAB_0030fd25:\n          symval2._8_4_ = 0x80000000;" statement_identifier : (expression_statement "symval2._8_4_ = 0x80000000;" (assignment_expression "symval2._8_4_ = 0x80000000" (field_expression "symval2._8_4_" identifier . field_identifier) = number_literal) ;)) (expression_statement "symval2.output_symtab_index_ = 0;" (assignment_expression "symval2.output_symtab_index_ = 0" (field_expression "symval2.output_symtab_index_" identifier . field_identifier) = number_literal) ;) (expression_statement "symval2.output_dynsym_index_ = 0xffffffff;" (assignment_expression "symval2.output_dynsym_index_ = 0xffffffff" (field_expression "symval2.output_dynsym_index_" identifier . field_identifier) = number_literal) ;) (expression_statement "symval2.u_.value = 0;" (assignment_expression "symval2.u_.value = 0" (field_expression "symval2.u_.value" (field_expression "symval2.u_" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "p_Var3 = (this_01->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object\n                   [0x10];" (assignment_expression "p_Var3 = (this_01->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object\n                   [0x10]" identifier = (subscript_expression "(this_01->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object\n                   [0x10]" (field_expression "(this_01->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object" (field_expression "(this_01->super_Sized_relobj<32,_true>).super_Relobj.super_Object" (field_expression "(this_01->super_Sized_relobj<32,_true>).super_Relobj" (parenthesized_expression "(this_01->super_Sized_relobj<32,_true>)" ( (comma_expression "this_01->super_Sized_relobj<32,_true" (binary_expression "this_01->super_Sized_relobj<32" (field_expression "this_01->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) [ number_literal ])) ;) (if_statement "if (p_Var3 == gold::Sized_relobj_file<32,_true>::do_section_name) {\n                    /* try { // try from 0030fd86 to 0030fd8a has its CatchHandler @ 00310922 */\n            elfcpp::Elf_file<32,_true,_gold::Object>::section_name\n                      (&reloc_name,&this_01->elf_file_,relinfo->data_shndx);\n          }\n          else {\n                    /* try { // try from 00310038 to 00310039 has its CatchHandler @ 00310922 */\n            (*p_Var3)(&reloc_name,this_01);\n          }" if (parenthesized_expression "(p_Var3 == gold::Sized_relobj_file<32,_true>::do_section_name)" ( (ERROR "p_Var3 == gold::" (binary_expression "p_Var3 == gold" identifier == identifier) : :) (comma_expression "Sized_relobj_file<32,_true>::do_section_name" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_true>::do_section_name" identifier > (ERROR "::" : :) identifier)) )) (compound_statement "{\n                    /* try { // try from 0030fd86 to 0030fd8a has its CatchHandler @ 00310922 */\n            elfcpp::Elf_file<32,_true,_gold::Object>::section_name\n                      (&reloc_name,&this_01->elf_file_,relinfo->data_shndx);\n          }" { comment (labeled_statement "elfcpp::Elf_file<32,_true,_gold::Object>::section_name\n                      (&reloc_name,&this_01->elf_file_,relinfo->data_shndx);" statement_identifier (ERROR "::Elf_file<32,_true,_gold::Object>:" : : (comma_expression "Elf_file<32,_true,_gold" (binary_expression "Elf_file<32" identifier < number_literal) , (comma_expression "_true,_gold" identifier , identifier)) : : identifier > :) : (expression_statement "section_name\n                      (&reloc_name,&this_01->elf_file_,relinfo->data_shndx);" (call_expression "section_name\n                      (&reloc_name,&this_01->elf_file_,relinfo->data_shndx)" identifier (argument_list "(&reloc_name,&this_01->elf_file_,relinfo->data_shndx)" ( (pointer_expression "&reloc_name" & identifier) , (pointer_expression "&this_01->elf_file_" & (field_expression "this_01->elf_file_" identifier -> field_identifier)) , (field_expression "relinfo->data_shndx" identifier -> field_identifier) ))) ;)) }) (else_clause "else {\n                    /* try { // try from 00310038 to 00310039 has its CatchHandler @ 00310922 */\n            (*p_Var3)(&reloc_name,this_01);\n          }" else (compound_statement "{\n                    /* try { // try from 00310038 to 00310039 has its CatchHandler @ 00310922 */\n            (*p_Var3)(&reloc_name,this_01);\n          }" { comment (expression_statement "(*p_Var3)(&reloc_name,this_01);" (call_expression "(*p_Var3)(&reloc_name,this_01)" (parenthesized_expression "(*p_Var3)" ( (pointer_expression "*p_Var3" * identifier) )) (argument_list "(&reloc_name,this_01)" ( (pointer_expression "&reloc_name" & identifier) , identifier ))) ;) }))) (expression_statement "bVar14 = false;" (assignment_expression "bVar14 = false" identifier = false) ;) (expression_statement "bVar40 = iVar13 == 0;" (assignment_expression "bVar40 = iVar13 == 0" identifier = (binary_expression "iVar13 == 0" identifier == number_literal)) ;) (if_statement "if (bVar40) {\n            lVar24 = 6;\n            _Var31._M_p = reloc_name._M_dataplus._M_p;\n            pbVar36 = &DAT_00533552;\n            do {\n              if (lVar24 == 0) break;\n              lVar24 = lVar24 + -1;\n              bVar14 = (byte)*_Var31._M_p < *pbVar36;\n              bVar40 = *_Var31._M_p == *pbVar36;\n              _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n              pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n            } while (bVar40);\n            bVar39 = false;\n            bVar14 = (!bVar14 && !bVar40) == bVar14;\n            if (!bVar14) {\n              lVar24 = 7;\n              _Var31._M_p = reloc_name._M_dataplus._M_p;\n              pbVar36 = (byte *)".zdebug";\n              do {\n                if (lVar24 == 0) break;\n                lVar24 = lVar24 + -1;\n                bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                bVar14 = *_Var31._M_p == *pbVar36;\n                _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n              } while (bVar14);\n              bVar40 = false;\n              bVar14 = (!bVar39 && !bVar14) == bVar39;\n              if (!bVar14) {\n                lVar24 = 0x11;\n                _Var31._M_p = reloc_name._M_dataplus._M_p;\n                pbVar36 = (byte *)".gnu.linkonce.wi.";\n                do {\n                  if (lVar24 == 0) break;\n                  lVar24 = lVar24 + -1;\n                  bVar40 = (byte)*_Var31._M_p < *pbVar36;\n                  bVar14 = *_Var31._M_p == *pbVar36;\n                  _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                  pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                } while (bVar14);\n                bVar39 = false;\n                bVar14 = (!bVar40 && !bVar14) == bVar40;\n                if (!bVar14) {\n                  lVar24 = 5;\n                  _Var31._M_p = reloc_name._M_dataplus._M_p;\n                  pbVar36 = (byte *)".line";\n                  do {\n                    if (lVar24 == 0) break;\n                    lVar24 = lVar24 + -1;\n                    bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                    bVar14 = *_Var31._M_p == *pbVar36;\n                    _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                    pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                  } while (bVar14);\n                  bVar40 = false;\n                  bVar14 = (!bVar39 && !bVar14) == bVar39;\n                  if (!bVar14) {\n                    lVar24 = 5;\n                    _Var31._M_p = reloc_name._M_dataplus._M_p;\n                    pbVar36 = (byte *)".stab";\n                    do {\n                      if (lVar24 == 0) break;\n                      lVar24 = lVar24 + -1;\n                      bVar40 = (byte)*_Var31._M_p < *pbVar36;\n                      bVar14 = *_Var31._M_p == *pbVar36;\n                      _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                      pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                    } while (bVar14);\n                    bVar39 = false;\n                    bVar14 = (!bVar40 && !bVar14) == bVar40;\n                    if (!bVar14) {\n                      lVar24 = 4;\n                      _Var31._M_p = reloc_name._M_dataplus._M_p;\n                      pbVar36 = &DAT_0053357f;\n                      do {\n                        if (lVar24 == 0) break;\n                        lVar24 = lVar24 + -1;\n                        bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                        bVar14 = *_Var31._M_p == *pbVar36;\n                        _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                        pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                      } while (bVar14);\n                      bVar40 = false;\n                      bVar14 = (!bVar39 && !bVar14) == bVar39;\n                      if (!bVar14) {\n                        lVar24 = 10;\n                        _Var31._M_p = reloc_name._M_dataplus._M_p;\n                        pbVar36 = (byte *)".eh_frame";\n                        do {\n                          if (lVar24 == 0) break;\n                          lVar24 = lVar24 + -1;\n                          bVar40 = (byte)*_Var31._M_p < *pbVar36;\n                          bVar14 = *_Var31._M_p == *pbVar36;\n                          _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                          pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                        } while (bVar14);\n                        bVar39 = false;\n                        bVar14 = (!bVar40 && !bVar14) == bVar40;\n                        if (!bVar14) {\n                          lVar24 = 0x12;\n                          _Var31._M_p = reloc_name._M_dataplus._M_p;\n                          pbVar36 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar24 == 0) break;\n                            lVar24 = lVar24 + -1;\n                            bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                            bVar14 = *_Var31._M_p == *pbVar36;\n                            _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                            pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                          } while (bVar14);\n                          if ((!bVar39 && !bVar14) != bVar39) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0030fdc0:\n                    /* try { // try from 0030fdd2 to 0030fdd6 has its CatchHandler @ 00310912 */\n            AVar17 = gold::Sized_relobj_file<32,_true>::map_to_kept_section\n                               (this_01,uVar30,&reloc_name,&found);\n            symval2.u_.value = 0;\n            if (found != false) {\n              symval2.u_.value = AVar17 + (pSVar38->u_).value;\n            }\n            iVar13 = 1;\n          }\n          else {\n            if (iVar13 == 1) goto LAB_0030fdc0;\n            if (iVar13 == 3) {\nLAB_0030ff50:\n              pSVar7 = relinfo->object;\n              if (pGVar21 == (General_options *)0x0) {\n                    /* try { // try from 003105ee to 0031061d has its CatchHandler @ 00310912 */\n                pcVar20 = gold::Sized_relobj_file<32,_true>::get_symbol_name(pSVar7,uVar37);\n                pcVar27 = (char *)gettext(\n                                         "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                         );\n                gold::gold_error_at_location<32,_true>\n                          (relinfo,(size_t)local_148,local_140,pcVar27,pcVar20,(ulong)uVar37);\n              }\n              else {\n                    /* try { // try from 0030ff70 to 0030ff74 has its CatchHandler @ 00310912 */\n                gold::Symbol::demangled_name((string *)&found,(Symbol *)pGVar21);\n                uVar23 = CONCAT71(uStack_77,found);\n                pcVar20 = (char *)gettext(\n                                         "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                         );\n                    /* try { // try from 0030ffa4 to 0030ffa8 has its CatchHandler @ 0031093c */\n                gold::gold_error_at_location<32,_true>\n                          (relinfo,(size_t)local_148,local_140,pcVar20,uVar23);\n                if ((undefined1 *)CONCAT71(uStack_77,found) != auStack_68) {\n                  operator_delete((undefined1 *)CONCAT71(uStack_77,found));\n                }\n              }\n                    /* try { // try from 0030ffd1 to 0030ffd5 has its CatchHandler @ 00310912 */\n              uVar37 = gold::Sized_relobj_file<32,_true>::symbol_section_and_value\n                                 (pSVar7,uVar37,&value,&is_ordinary);\n              if (uVar37 != 0) {\n                    /* try { // try from 00310544 to 0031057d has its CatchHandler @ 00310912 */\n                pRVar25 = gold::Sized_relobj_file<32,_true>::find_kept_section_object\n                                    (pSVar7,uVar37,&key_symndx);\n                if (key_symndx != 0) {\n                    /* try { // try from 00310725 to 00310745 has its CatchHandler @ 00310912 */\n                  pcVar20 = gold::Sized_relobj_file<32,_true>::get_symbol_name(pSVar7,key_symndx);\n                  pcVar27 = (char *)gettext("  section group signature: \"%s\"");\n                  gold::gold_info(pcVar27,pcVar20);\n                }\n                if (pRVar25 != (Relobj *)0x0) {\n                  pcVar11 = (pRVar25->super_Object).name_._M_dataplus._M_p;\n                  pcVar20 = (char *)gettext("  prevailing definition is from %s");\n                  gold::gold_info(pcVar20,pcVar11);\n                }\n              }\n              iVar13 = 3;\n            }\n            else {\nLAB_00310006:\n              iVar13 = 2;\n            }\n            symval2.u_.value = 0;\n          }" if (parenthesized_expression "(bVar40)" ( identifier )) (compound_statement "{\n            lVar24 = 6;\n            _Var31._M_p = reloc_name._M_dataplus._M_p;\n            pbVar36 = &DAT_00533552;\n            do {\n              if (lVar24 == 0) break;\n              lVar24 = lVar24 + -1;\n              bVar14 = (byte)*_Var31._M_p < *pbVar36;\n              bVar40 = *_Var31._M_p == *pbVar36;\n              _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n              pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n            } while (bVar40);\n            bVar39 = false;\n            bVar14 = (!bVar14 && !bVar40) == bVar14;\n            if (!bVar14) {\n              lVar24 = 7;\n              _Var31._M_p = reloc_name._M_dataplus._M_p;\n              pbVar36 = (byte *)".zdebug";\n              do {\n                if (lVar24 == 0) break;\n                lVar24 = lVar24 + -1;\n                bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                bVar14 = *_Var31._M_p == *pbVar36;\n                _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n              } while (bVar14);\n              bVar40 = false;\n              bVar14 = (!bVar39 && !bVar14) == bVar39;\n              if (!bVar14) {\n                lVar24 = 0x11;\n                _Var31._M_p = reloc_name._M_dataplus._M_p;\n                pbVar36 = (byte *)".gnu.linkonce.wi.";\n                do {\n                  if (lVar24 == 0) break;\n                  lVar24 = lVar24 + -1;\n                  bVar40 = (byte)*_Var31._M_p < *pbVar36;\n                  bVar14 = *_Var31._M_p == *pbVar36;\n                  _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                  pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                } while (bVar14);\n                bVar39 = false;\n                bVar14 = (!bVar40 && !bVar14) == bVar40;\n                if (!bVar14) {\n                  lVar24 = 5;\n                  _Var31._M_p = reloc_name._M_dataplus._M_p;\n                  pbVar36 = (byte *)".line";\n                  do {\n                    if (lVar24 == 0) break;\n                    lVar24 = lVar24 + -1;\n                    bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                    bVar14 = *_Var31._M_p == *pbVar36;\n                    _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                    pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                  } while (bVar14);\n                  bVar40 = false;\n                  bVar14 = (!bVar39 && !bVar14) == bVar39;\n                  if (!bVar14) {\n                    lVar24 = 5;\n                    _Var31._M_p = reloc_name._M_dataplus._M_p;\n                    pbVar36 = (byte *)".stab";\n                    do {\n                      if (lVar24 == 0) break;\n                      lVar24 = lVar24 + -1;\n                      bVar40 = (byte)*_Var31._M_p < *pbVar36;\n                      bVar14 = *_Var31._M_p == *pbVar36;\n                      _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                      pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                    } while (bVar14);\n                    bVar39 = false;\n                    bVar14 = (!bVar40 && !bVar14) == bVar40;\n                    if (!bVar14) {\n                      lVar24 = 4;\n                      _Var31._M_p = reloc_name._M_dataplus._M_p;\n                      pbVar36 = &DAT_0053357f;\n                      do {\n                        if (lVar24 == 0) break;\n                        lVar24 = lVar24 + -1;\n                        bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                        bVar14 = *_Var31._M_p == *pbVar36;\n                        _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                        pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                      } while (bVar14);\n                      bVar40 = false;\n                      bVar14 = (!bVar39 && !bVar14) == bVar39;\n                      if (!bVar14) {\n                        lVar24 = 10;\n                        _Var31._M_p = reloc_name._M_dataplus._M_p;\n                        pbVar36 = (byte *)".eh_frame";\n                        do {\n                          if (lVar24 == 0) break;\n                          lVar24 = lVar24 + -1;\n                          bVar40 = (byte)*_Var31._M_p < *pbVar36;\n                          bVar14 = *_Var31._M_p == *pbVar36;\n                          _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                          pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                        } while (bVar14);\n                        bVar39 = false;\n                        bVar14 = (!bVar40 && !bVar14) == bVar40;\n                        if (!bVar14) {\n                          lVar24 = 0x12;\n                          _Var31._M_p = reloc_name._M_dataplus._M_p;\n                          pbVar36 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar24 == 0) break;\n                            lVar24 = lVar24 + -1;\n                            bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                            bVar14 = *_Var31._M_p == *pbVar36;\n                            _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                            pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                          } while (bVar14);\n                          if ((!bVar39 && !bVar14) != bVar39) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0030fdc0:\n                    /* try { // try from 0030fdd2 to 0030fdd6 has its CatchHandler @ 00310912 */\n            AVar17 = gold::Sized_relobj_file<32,_true>::map_to_kept_section\n                               (this_01,uVar30,&reloc_name,&found);\n            symval2.u_.value = 0;\n            if (found != false) {\n              symval2.u_.value = AVar17 + (pSVar38->u_).value;\n            }\n            iVar13 = 1;\n          }" { (expression_statement "lVar24 = 6;" (assignment_expression "lVar24 = 6" identifier = number_literal) ;) (expression_statement "_Var31._M_p = reloc_name._M_dataplus._M_p;" (assignment_expression "_Var31._M_p = reloc_name._M_dataplus._M_p" (field_expression "_Var31._M_p" identifier . field_identifier) = (field_expression "reloc_name._M_dataplus._M_p" (field_expression "reloc_name._M_dataplus" identifier . field_identifier) . field_identifier)) ;) (expression_statement "pbVar36 = &DAT_00533552;" (assignment_expression "pbVar36 = &DAT_00533552" identifier = (pointer_expression "&DAT_00533552" & identifier)) ;) (do_statement "do {\n              if (lVar24 == 0) break;\n              lVar24 = lVar24 + -1;\n              bVar14 = (byte)*_Var31._M_p < *pbVar36;\n              bVar40 = *_Var31._M_p == *pbVar36;\n              _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n              pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n            } while (bVar40);" do (compound_statement "{\n              if (lVar24 == 0) break;\n              lVar24 = lVar24 + -1;\n              bVar14 = (byte)*_Var31._M_p < *pbVar36;\n              bVar40 = *_Var31._M_p == *pbVar36;\n              _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n              pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n            }" { (if_statement "if (lVar24 == 0) break;" if (parenthesized_expression "(lVar24 == 0)" ( (binary_expression "lVar24 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar24 = lVar24 + -1;" (assignment_expression "lVar24 = lVar24 + -1" identifier = (binary_expression "lVar24 + -1" identifier + number_literal)) ;) (expression_statement "bVar14 = (byte)*_Var31._M_p < *pbVar36;" (assignment_expression "bVar14 = (byte)*_Var31._M_p < *pbVar36" identifier = (binary_expression "(byte)*_Var31._M_p < *pbVar36" (binary_expression "(byte)*_Var31._M_p" (parenthesized_expression "(byte)" ( identifier )) * (field_expression "_Var31._M_p" identifier . field_identifier)) < (pointer_expression "*pbVar36" * identifier))) ;) (expression_statement "bVar40 = *_Var31._M_p == *pbVar36;" (assignment_expression "bVar40 = *_Var31._M_p == *pbVar36" identifier = (binary_expression "*_Var31._M_p == *pbVar36" (pointer_expression "*_Var31._M_p" * (field_expression "_Var31._M_p" identifier . field_identifier)) == (pointer_expression "*pbVar36" * identifier))) ;) (expression_statement "_Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);" (assignment_expression "_Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1)" (field_expression "_Var31._M_p" identifier . field_identifier) = (call_expression "(pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1)" ( (binary_expression "(byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1" (binary_expression "(byte *)_Var31._M_p + (ulong)bVar41 * -2" (cast_expression "(byte *)_Var31._M_p" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "_Var31._M_p" identifier . field_identifier)) + (binary_expression "(ulong)bVar41 * -2" (cast_expression "(ulong)bVar41" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) (expression_statement "pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;" (assignment_expression "pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1" identifier = (binary_expression "pbVar36 + (ulong)bVar41 * -2 + 1" (binary_expression "pbVar36 + (ulong)bVar41 * -2" identifier + (binary_expression "(ulong)bVar41 * -2" (cast_expression "(ulong)bVar41" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar40)" ( identifier )) ;) (expression_statement "bVar39 = false;" (assignment_expression "bVar39 = false" identifier = false) ;) (expression_statement "bVar14 = (!bVar14 && !bVar40) == bVar14;" (assignment_expression "bVar14 = (!bVar14 && !bVar40) == bVar14" identifier = (binary_expression "(!bVar14 && !bVar40) == bVar14" (parenthesized_expression "(!bVar14 && !bVar40)" ( (binary_expression "!bVar14 && !bVar40" (unary_expression "!bVar14" ! identifier) && (unary_expression "!bVar40" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar14) {\n              lVar24 = 7;\n              _Var31._M_p = reloc_name._M_dataplus._M_p;\n              pbVar36 = (byte *)".zdebug";\n              do {\n                if (lVar24 == 0) break;\n                lVar24 = lVar24 + -1;\n                bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                bVar14 = *_Var31._M_p == *pbVar36;\n                _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n              } while (bVar14);\n              bVar40 = false;\n              bVar14 = (!bVar39 && !bVar14) == bVar39;\n              if (!bVar14) {\n                lVar24 = 0x11;\n                _Var31._M_p = reloc_name._M_dataplus._M_p;\n                pbVar36 = (byte *)".gnu.linkonce.wi.";\n                do {\n                  if (lVar24 == 0) break;\n                  lVar24 = lVar24 + -1;\n                  bVar40 = (byte)*_Var31._M_p < *pbVar36;\n                  bVar14 = *_Var31._M_p == *pbVar36;\n                  _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                  pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                } while (bVar14);\n                bVar39 = false;\n                bVar14 = (!bVar40 && !bVar14) == bVar40;\n                if (!bVar14) {\n                  lVar24 = 5;\n                  _Var31._M_p = reloc_name._M_dataplus._M_p;\n                  pbVar36 = (byte *)".line";\n                  do {\n                    if (lVar24 == 0) break;\n                    lVar24 = lVar24 + -1;\n                    bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                    bVar14 = *_Var31._M_p == *pbVar36;\n                    _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                    pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                  } while (bVar14);\n                  bVar40 = false;\n                  bVar14 = (!bVar39 && !bVar14) == bVar39;\n                  if (!bVar14) {\n                    lVar24 = 5;\n                    _Var31._M_p = reloc_name._M_dataplus._M_p;\n                    pbVar36 = (byte *)".stab";\n                    do {\n                      if (lVar24 == 0) break;\n                      lVar24 = lVar24 + -1;\n                      bVar40 = (byte)*_Var31._M_p < *pbVar36;\n                      bVar14 = *_Var31._M_p == *pbVar36;\n                      _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                      pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                    } while (bVar14);\n                    bVar39 = false;\n                    bVar14 = (!bVar40 && !bVar14) == bVar40;\n                    if (!bVar14) {\n                      lVar24 = 4;\n                      _Var31._M_p = reloc_name._M_dataplus._M_p;\n                      pbVar36 = &DAT_0053357f;\n                      do {\n                        if (lVar24 == 0) break;\n                        lVar24 = lVar24 + -1;\n                        bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                        bVar14 = *_Var31._M_p == *pbVar36;\n                        _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                        pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                      } while (bVar14);\n                      bVar40 = false;\n                      bVar14 = (!bVar39 && !bVar14) == bVar39;\n                      if (!bVar14) {\n                        lVar24 = 10;\n                        _Var31._M_p = reloc_name._M_dataplus._M_p;\n                        pbVar36 = (byte *)".eh_frame";\n                        do {\n                          if (lVar24 == 0) break;\n                          lVar24 = lVar24 + -1;\n                          bVar40 = (byte)*_Var31._M_p < *pbVar36;\n                          bVar14 = *_Var31._M_p == *pbVar36;\n                          _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                          pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                        } while (bVar14);\n                        bVar39 = false;\n                        bVar14 = (!bVar40 && !bVar14) == bVar40;\n                        if (!bVar14) {\n                          lVar24 = 0x12;\n                          _Var31._M_p = reloc_name._M_dataplus._M_p;\n                          pbVar36 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar24 == 0) break;\n                            lVar24 = lVar24 + -1;\n                            bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                            bVar14 = *_Var31._M_p == *pbVar36;\n                            _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                            pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                          } while (bVar14);\n                          if ((!bVar39 && !bVar14) != bVar39) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }\n                }\n              }\n            }" if (parenthesized_expression "(!bVar14)" ( (unary_expression "!bVar14" ! identifier) )) (compound_statement "{\n              lVar24 = 7;\n              _Var31._M_p = reloc_name._M_dataplus._M_p;\n              pbVar36 = (byte *)".zdebug";\n              do {\n                if (lVar24 == 0) break;\n                lVar24 = lVar24 + -1;\n                bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                bVar14 = *_Var31._M_p == *pbVar36;\n                _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n              } while (bVar14);\n              bVar40 = false;\n              bVar14 = (!bVar39 && !bVar14) == bVar39;\n              if (!bVar14) {\n                lVar24 = 0x11;\n                _Var31._M_p = reloc_name._M_dataplus._M_p;\n                pbVar36 = (byte *)".gnu.linkonce.wi.";\n                do {\n                  if (lVar24 == 0) break;\n                  lVar24 = lVar24 + -1;\n                  bVar40 = (byte)*_Var31._M_p < *pbVar36;\n                  bVar14 = *_Var31._M_p == *pbVar36;\n                  _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                  pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                } while (bVar14);\n                bVar39 = false;\n                bVar14 = (!bVar40 && !bVar14) == bVar40;\n                if (!bVar14) {\n                  lVar24 = 5;\n                  _Var31._M_p = reloc_name._M_dataplus._M_p;\n                  pbVar36 = (byte *)".line";\n                  do {\n                    if (lVar24 == 0) break;\n                    lVar24 = lVar24 + -1;\n                    bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                    bVar14 = *_Var31._M_p == *pbVar36;\n                    _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                    pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                  } while (bVar14);\n                  bVar40 = false;\n                  bVar14 = (!bVar39 && !bVar14) == bVar39;\n                  if (!bVar14) {\n                    lVar24 = 5;\n                    _Var31._M_p = reloc_name._M_dataplus._M_p;\n                    pbVar36 = (byte *)".stab";\n                    do {\n                      if (lVar24 == 0) break;\n                      lVar24 = lVar24 + -1;\n                      bVar40 = (byte)*_Var31._M_p < *pbVar36;\n                      bVar14 = *_Var31._M_p == *pbVar36;\n                      _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                      pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                    } while (bVar14);\n                    bVar39 = false;\n                    bVar14 = (!bVar40 && !bVar14) == bVar40;\n                    if (!bVar14) {\n                      lVar24 = 4;\n                      _Var31._M_p = reloc_name._M_dataplus._M_p;\n                      pbVar36 = &DAT_0053357f;\n                      do {\n                        if (lVar24 == 0) break;\n                        lVar24 = lVar24 + -1;\n                        bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                        bVar14 = *_Var31._M_p == *pbVar36;\n                        _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                        pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                      } while (bVar14);\n                      bVar40 = false;\n                      bVar14 = (!bVar39 && !bVar14) == bVar39;\n                      if (!bVar14) {\n                        lVar24 = 10;\n                        _Var31._M_p = reloc_name._M_dataplus._M_p;\n                        pbVar36 = (byte *)".eh_frame";\n                        do {\n                          if (lVar24 == 0) break;\n                          lVar24 = lVar24 + -1;\n                          bVar40 = (byte)*_Var31._M_p < *pbVar36;\n                          bVar14 = *_Var31._M_p == *pbVar36;\n                          _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                          pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                        } while (bVar14);\n                        bVar39 = false;\n                        bVar14 = (!bVar40 && !bVar14) == bVar40;\n                        if (!bVar14) {\n                          lVar24 = 0x12;\n                          _Var31._M_p = reloc_name._M_dataplus._M_p;\n                          pbVar36 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar24 == 0) break;\n                            lVar24 = lVar24 + -1;\n                            bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                            bVar14 = *_Var31._M_p == *pbVar36;\n                            _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                            pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                          } while (bVar14);\n                          if ((!bVar39 && !bVar14) != bVar39) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }\n                }\n              }\n            }" { (expression_statement "lVar24 = 7;" (assignment_expression "lVar24 = 7" identifier = number_literal) ;) (expression_statement "_Var31._M_p = reloc_name._M_dataplus._M_p;" (assignment_expression "_Var31._M_p = reloc_name._M_dataplus._M_p" (field_expression "_Var31._M_p" identifier . field_identifier) = (field_expression "reloc_name._M_dataplus._M_p" (field_expression "reloc_name._M_dataplus" identifier . field_identifier) . field_identifier)) ;) (expression_statement "pbVar36 = (byte *)".zdebug";" (assignment_expression "pbVar36 = (byte *)".zdebug"" identifier = (cast_expression "(byte *)".zdebug"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".zdebug"" " string_content "))) ;) (do_statement "do {\n                if (lVar24 == 0) break;\n                lVar24 = lVar24 + -1;\n                bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                bVar14 = *_Var31._M_p == *pbVar36;\n                _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n              } while (bVar14);" do (compound_statement "{\n                if (lVar24 == 0) break;\n                lVar24 = lVar24 + -1;\n                bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                bVar14 = *_Var31._M_p == *pbVar36;\n                _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n              }" { (if_statement "if (lVar24 == 0) break;" if (parenthesized_expression "(lVar24 == 0)" ( (binary_expression "lVar24 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar24 = lVar24 + -1;" (assignment_expression "lVar24 = lVar24 + -1" identifier = (binary_expression "lVar24 + -1" identifier + number_literal)) ;) (expression_statement "bVar39 = (byte)*_Var31._M_p < *pbVar36;" (assignment_expression "bVar39 = (byte)*_Var31._M_p < *pbVar36" identifier = (binary_expression "(byte)*_Var31._M_p < *pbVar36" (binary_expression "(byte)*_Var31._M_p" (parenthesized_expression "(byte)" ( identifier )) * (field_expression "_Var31._M_p" identifier . field_identifier)) < (pointer_expression "*pbVar36" * identifier))) ;) (expression_statement "bVar14 = *_Var31._M_p == *pbVar36;" (assignment_expression "bVar14 = *_Var31._M_p == *pbVar36" identifier = (binary_expression "*_Var31._M_p == *pbVar36" (pointer_expression "*_Var31._M_p" * (field_expression "_Var31._M_p" identifier . field_identifier)) == (pointer_expression "*pbVar36" * identifier))) ;) (expression_statement "_Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);" (assignment_expression "_Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1)" (field_expression "_Var31._M_p" identifier . field_identifier) = (call_expression "(pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1)" ( (binary_expression "(byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1" (binary_expression "(byte *)_Var31._M_p + (ulong)bVar41 * -2" (cast_expression "(byte *)_Var31._M_p" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "_Var31._M_p" identifier . field_identifier)) + (binary_expression "(ulong)bVar41 * -2" (cast_expression "(ulong)bVar41" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) (expression_statement "pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;" (assignment_expression "pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1" identifier = (binary_expression "pbVar36 + (ulong)bVar41 * -2 + 1" (binary_expression "pbVar36 + (ulong)bVar41 * -2" identifier + (binary_expression "(ulong)bVar41 * -2" (cast_expression "(ulong)bVar41" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar14)" ( identifier )) ;) (expression_statement "bVar40 = false;" (assignment_expression "bVar40 = false" identifier = false) ;) (expression_statement "bVar14 = (!bVar39 && !bVar14) == bVar39;" (assignment_expression "bVar14 = (!bVar39 && !bVar14) == bVar39" identifier = (binary_expression "(!bVar39 && !bVar14) == bVar39" (parenthesized_expression "(!bVar39 && !bVar14)" ( (binary_expression "!bVar39 && !bVar14" (unary_expression "!bVar39" ! identifier) && (unary_expression "!bVar14" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar14) {\n                lVar24 = 0x11;\n                _Var31._M_p = reloc_name._M_dataplus._M_p;\n                pbVar36 = (byte *)".gnu.linkonce.wi.";\n                do {\n                  if (lVar24 == 0) break;\n                  lVar24 = lVar24 + -1;\n                  bVar40 = (byte)*_Var31._M_p < *pbVar36;\n                  bVar14 = *_Var31._M_p == *pbVar36;\n                  _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                  pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                } while (bVar14);\n                bVar39 = false;\n                bVar14 = (!bVar40 && !bVar14) == bVar40;\n                if (!bVar14) {\n                  lVar24 = 5;\n                  _Var31._M_p = reloc_name._M_dataplus._M_p;\n                  pbVar36 = (byte *)".line";\n                  do {\n                    if (lVar24 == 0) break;\n                    lVar24 = lVar24 + -1;\n                    bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                    bVar14 = *_Var31._M_p == *pbVar36;\n                    _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                    pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                  } while (bVar14);\n                  bVar40 = false;\n                  bVar14 = (!bVar39 && !bVar14) == bVar39;\n                  if (!bVar14) {\n                    lVar24 = 5;\n                    _Var31._M_p = reloc_name._M_dataplus._M_p;\n                    pbVar36 = (byte *)".stab";\n                    do {\n                      if (lVar24 == 0) break;\n                      lVar24 = lVar24 + -1;\n                      bVar40 = (byte)*_Var31._M_p < *pbVar36;\n                      bVar14 = *_Var31._M_p == *pbVar36;\n                      _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                      pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                    } while (bVar14);\n                    bVar39 = false;\n                    bVar14 = (!bVar40 && !bVar14) == bVar40;\n                    if (!bVar14) {\n                      lVar24 = 4;\n                      _Var31._M_p = reloc_name._M_dataplus._M_p;\n                      pbVar36 = &DAT_0053357f;\n                      do {\n                        if (lVar24 == 0) break;\n                        lVar24 = lVar24 + -1;\n                        bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                        bVar14 = *_Var31._M_p == *pbVar36;\n                        _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                        pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                      } while (bVar14);\n                      bVar40 = false;\n                      bVar14 = (!bVar39 && !bVar14) == bVar39;\n                      if (!bVar14) {\n                        lVar24 = 10;\n                        _Var31._M_p = reloc_name._M_dataplus._M_p;\n                        pbVar36 = (byte *)".eh_frame";\n                        do {\n                          if (lVar24 == 0) break;\n                          lVar24 = lVar24 + -1;\n                          bVar40 = (byte)*_Var31._M_p < *pbVar36;\n                          bVar14 = *_Var31._M_p == *pbVar36;\n                          _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                          pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                        } while (bVar14);\n                        bVar39 = false;\n                        bVar14 = (!bVar40 && !bVar14) == bVar40;\n                        if (!bVar14) {\n                          lVar24 = 0x12;\n                          _Var31._M_p = reloc_name._M_dataplus._M_p;\n                          pbVar36 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar24 == 0) break;\n                            lVar24 = lVar24 + -1;\n                            bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                            bVar14 = *_Var31._M_p == *pbVar36;\n                            _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                            pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                          } while (bVar14);\n                          if ((!bVar39 && !bVar14) != bVar39) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }\n                }\n              }" if (parenthesized_expression "(!bVar14)" ( (unary_expression "!bVar14" ! identifier) )) (compound_statement "{\n                lVar24 = 0x11;\n                _Var31._M_p = reloc_name._M_dataplus._M_p;\n                pbVar36 = (byte *)".gnu.linkonce.wi.";\n                do {\n                  if (lVar24 == 0) break;\n                  lVar24 = lVar24 + -1;\n                  bVar40 = (byte)*_Var31._M_p < *pbVar36;\n                  bVar14 = *_Var31._M_p == *pbVar36;\n                  _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                  pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                } while (bVar14);\n                bVar39 = false;\n                bVar14 = (!bVar40 && !bVar14) == bVar40;\n                if (!bVar14) {\n                  lVar24 = 5;\n                  _Var31._M_p = reloc_name._M_dataplus._M_p;\n                  pbVar36 = (byte *)".line";\n                  do {\n                    if (lVar24 == 0) break;\n                    lVar24 = lVar24 + -1;\n                    bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                    bVar14 = *_Var31._M_p == *pbVar36;\n                    _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                    pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                  } while (bVar14);\n                  bVar40 = false;\n                  bVar14 = (!bVar39 && !bVar14) == bVar39;\n                  if (!bVar14) {\n                    lVar24 = 5;\n                    _Var31._M_p = reloc_name._M_dataplus._M_p;\n                    pbVar36 = (byte *)".stab";\n                    do {\n                      if (lVar24 == 0) break;\n                      lVar24 = lVar24 + -1;\n                      bVar40 = (byte)*_Var31._M_p < *pbVar36;\n                      bVar14 = *_Var31._M_p == *pbVar36;\n                      _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                      pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                    } while (bVar14);\n                    bVar39 = false;\n                    bVar14 = (!bVar40 && !bVar14) == bVar40;\n                    if (!bVar14) {\n                      lVar24 = 4;\n                      _Var31._M_p = reloc_name._M_dataplus._M_p;\n                      pbVar36 = &DAT_0053357f;\n                      do {\n                        if (lVar24 == 0) break;\n                        lVar24 = lVar24 + -1;\n                        bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                        bVar14 = *_Var31._M_p == *pbVar36;\n                        _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                        pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                      } while (bVar14);\n                      bVar40 = false;\n                      bVar14 = (!bVar39 && !bVar14) == bVar39;\n                      if (!bVar14) {\n                        lVar24 = 10;\n                        _Var31._M_p = reloc_name._M_dataplus._M_p;\n                        pbVar36 = (byte *)".eh_frame";\n                        do {\n                          if (lVar24 == 0) break;\n                          lVar24 = lVar24 + -1;\n                          bVar40 = (byte)*_Var31._M_p < *pbVar36;\n                          bVar14 = *_Var31._M_p == *pbVar36;\n                          _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                          pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                        } while (bVar14);\n                        bVar39 = false;\n                        bVar14 = (!bVar40 && !bVar14) == bVar40;\n                        if (!bVar14) {\n                          lVar24 = 0x12;\n                          _Var31._M_p = reloc_name._M_dataplus._M_p;\n                          pbVar36 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar24 == 0) break;\n                            lVar24 = lVar24 + -1;\n                            bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                            bVar14 = *_Var31._M_p == *pbVar36;\n                            _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                            pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                          } while (bVar14);\n                          if ((!bVar39 && !bVar14) != bVar39) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }\n                }\n              }" { (expression_statement "lVar24 = 0x11;" (assignment_expression "lVar24 = 0x11" identifier = number_literal) ;) (expression_statement "_Var31._M_p = reloc_name._M_dataplus._M_p;" (assignment_expression "_Var31._M_p = reloc_name._M_dataplus._M_p" (field_expression "_Var31._M_p" identifier . field_identifier) = (field_expression "reloc_name._M_dataplus._M_p" (field_expression "reloc_name._M_dataplus" identifier . field_identifier) . field_identifier)) ;) (expression_statement "pbVar36 = (byte *)".gnu.linkonce.wi.";" (assignment_expression "pbVar36 = (byte *)".gnu.linkonce.wi."" identifier = (cast_expression "(byte *)".gnu.linkonce.wi."" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".gnu.linkonce.wi."" " string_content "))) ;) (do_statement "do {\n                  if (lVar24 == 0) break;\n                  lVar24 = lVar24 + -1;\n                  bVar40 = (byte)*_Var31._M_p < *pbVar36;\n                  bVar14 = *_Var31._M_p == *pbVar36;\n                  _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                  pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                } while (bVar14);" do (compound_statement "{\n                  if (lVar24 == 0) break;\n                  lVar24 = lVar24 + -1;\n                  bVar40 = (byte)*_Var31._M_p < *pbVar36;\n                  bVar14 = *_Var31._M_p == *pbVar36;\n                  _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                  pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                }" { (if_statement "if (lVar24 == 0) break;" if (parenthesized_expression "(lVar24 == 0)" ( (binary_expression "lVar24 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar24 = lVar24 + -1;" (assignment_expression "lVar24 = lVar24 + -1" identifier = (binary_expression "lVar24 + -1" identifier + number_literal)) ;) (expression_statement "bVar40 = (byte)*_Var31._M_p < *pbVar36;" (assignment_expression "bVar40 = (byte)*_Var31._M_p < *pbVar36" identifier = (binary_expression "(byte)*_Var31._M_p < *pbVar36" (binary_expression "(byte)*_Var31._M_p" (parenthesized_expression "(byte)" ( identifier )) * (field_expression "_Var31._M_p" identifier . field_identifier)) < (pointer_expression "*pbVar36" * identifier))) ;) (expression_statement "bVar14 = *_Var31._M_p == *pbVar36;" (assignment_expression "bVar14 = *_Var31._M_p == *pbVar36" identifier = (binary_expression "*_Var31._M_p == *pbVar36" (pointer_expression "*_Var31._M_p" * (field_expression "_Var31._M_p" identifier . field_identifier)) == (pointer_expression "*pbVar36" * identifier))) ;) (expression_statement "_Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);" (assignment_expression "_Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1)" (field_expression "_Var31._M_p" identifier . field_identifier) = (call_expression "(pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1)" ( (binary_expression "(byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1" (binary_expression "(byte *)_Var31._M_p + (ulong)bVar41 * -2" (cast_expression "(byte *)_Var31._M_p" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "_Var31._M_p" identifier . field_identifier)) + (binary_expression "(ulong)bVar41 * -2" (cast_expression "(ulong)bVar41" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) (expression_statement "pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;" (assignment_expression "pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1" identifier = (binary_expression "pbVar36 + (ulong)bVar41 * -2 + 1" (binary_expression "pbVar36 + (ulong)bVar41 * -2" identifier + (binary_expression "(ulong)bVar41 * -2" (cast_expression "(ulong)bVar41" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar14)" ( identifier )) ;) (expression_statement "bVar39 = false;" (assignment_expression "bVar39 = false" identifier = false) ;) (expression_statement "bVar14 = (!bVar40 && !bVar14) == bVar40;" (assignment_expression "bVar14 = (!bVar40 && !bVar14) == bVar40" identifier = (binary_expression "(!bVar40 && !bVar14) == bVar40" (parenthesized_expression "(!bVar40 && !bVar14)" ( (binary_expression "!bVar40 && !bVar14" (unary_expression "!bVar40" ! identifier) && (unary_expression "!bVar14" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar14) {\n                  lVar24 = 5;\n                  _Var31._M_p = reloc_name._M_dataplus._M_p;\n                  pbVar36 = (byte *)".line";\n                  do {\n                    if (lVar24 == 0) break;\n                    lVar24 = lVar24 + -1;\n                    bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                    bVar14 = *_Var31._M_p == *pbVar36;\n                    _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                    pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                  } while (bVar14);\n                  bVar40 = false;\n                  bVar14 = (!bVar39 && !bVar14) == bVar39;\n                  if (!bVar14) {\n                    lVar24 = 5;\n                    _Var31._M_p = reloc_name._M_dataplus._M_p;\n                    pbVar36 = (byte *)".stab";\n                    do {\n                      if (lVar24 == 0) break;\n                      lVar24 = lVar24 + -1;\n                      bVar40 = (byte)*_Var31._M_p < *pbVar36;\n                      bVar14 = *_Var31._M_p == *pbVar36;\n                      _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                      pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                    } while (bVar14);\n                    bVar39 = false;\n                    bVar14 = (!bVar40 && !bVar14) == bVar40;\n                    if (!bVar14) {\n                      lVar24 = 4;\n                      _Var31._M_p = reloc_name._M_dataplus._M_p;\n                      pbVar36 = &DAT_0053357f;\n                      do {\n                        if (lVar24 == 0) break;\n                        lVar24 = lVar24 + -1;\n                        bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                        bVar14 = *_Var31._M_p == *pbVar36;\n                        _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                        pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                      } while (bVar14);\n                      bVar40 = false;\n                      bVar14 = (!bVar39 && !bVar14) == bVar39;\n                      if (!bVar14) {\n                        lVar24 = 10;\n                        _Var31._M_p = reloc_name._M_dataplus._M_p;\n                        pbVar36 = (byte *)".eh_frame";\n                        do {\n                          if (lVar24 == 0) break;\n                          lVar24 = lVar24 + -1;\n                          bVar40 = (byte)*_Var31._M_p < *pbVar36;\n                          bVar14 = *_Var31._M_p == *pbVar36;\n                          _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                          pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                        } while (bVar14);\n                        bVar39 = false;\n                        bVar14 = (!bVar40 && !bVar14) == bVar40;\n                        if (!bVar14) {\n                          lVar24 = 0x12;\n                          _Var31._M_p = reloc_name._M_dataplus._M_p;\n                          pbVar36 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar24 == 0) break;\n                            lVar24 = lVar24 + -1;\n                            bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                            bVar14 = *_Var31._M_p == *pbVar36;\n                            _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                            pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                          } while (bVar14);\n                          if ((!bVar39 && !bVar14) != bVar39) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }\n                }" if (parenthesized_expression "(!bVar14)" ( (unary_expression "!bVar14" ! identifier) )) (compound_statement "{\n                  lVar24 = 5;\n                  _Var31._M_p = reloc_name._M_dataplus._M_p;\n                  pbVar36 = (byte *)".line";\n                  do {\n                    if (lVar24 == 0) break;\n                    lVar24 = lVar24 + -1;\n                    bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                    bVar14 = *_Var31._M_p == *pbVar36;\n                    _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                    pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                  } while (bVar14);\n                  bVar40 = false;\n                  bVar14 = (!bVar39 && !bVar14) == bVar39;\n                  if (!bVar14) {\n                    lVar24 = 5;\n                    _Var31._M_p = reloc_name._M_dataplus._M_p;\n                    pbVar36 = (byte *)".stab";\n                    do {\n                      if (lVar24 == 0) break;\n                      lVar24 = lVar24 + -1;\n                      bVar40 = (byte)*_Var31._M_p < *pbVar36;\n                      bVar14 = *_Var31._M_p == *pbVar36;\n                      _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                      pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                    } while (bVar14);\n                    bVar39 = false;\n                    bVar14 = (!bVar40 && !bVar14) == bVar40;\n                    if (!bVar14) {\n                      lVar24 = 4;\n                      _Var31._M_p = reloc_name._M_dataplus._M_p;\n                      pbVar36 = &DAT_0053357f;\n                      do {\n                        if (lVar24 == 0) break;\n                        lVar24 = lVar24 + -1;\n                        bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                        bVar14 = *_Var31._M_p == *pbVar36;\n                        _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                        pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                      } while (bVar14);\n                      bVar40 = false;\n                      bVar14 = (!bVar39 && !bVar14) == bVar39;\n                      if (!bVar14) {\n                        lVar24 = 10;\n                        _Var31._M_p = reloc_name._M_dataplus._M_p;\n                        pbVar36 = (byte *)".eh_frame";\n                        do {\n                          if (lVar24 == 0) break;\n                          lVar24 = lVar24 + -1;\n                          bVar40 = (byte)*_Var31._M_p < *pbVar36;\n                          bVar14 = *_Var31._M_p == *pbVar36;\n                          _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                          pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                        } while (bVar14);\n                        bVar39 = false;\n                        bVar14 = (!bVar40 && !bVar14) == bVar40;\n                        if (!bVar14) {\n                          lVar24 = 0x12;\n                          _Var31._M_p = reloc_name._M_dataplus._M_p;\n                          pbVar36 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar24 == 0) break;\n                            lVar24 = lVar24 + -1;\n                            bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                            bVar14 = *_Var31._M_p == *pbVar36;\n                            _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                            pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                          } while (bVar14);\n                          if ((!bVar39 && !bVar14) != bVar39) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }\n                }" { (expression_statement "lVar24 = 5;" (assignment_expression "lVar24 = 5" identifier = number_literal) ;) (expression_statement "_Var31._M_p = reloc_name._M_dataplus._M_p;" (assignment_expression "_Var31._M_p = reloc_name._M_dataplus._M_p" (field_expression "_Var31._M_p" identifier . field_identifier) = (field_expression "reloc_name._M_dataplus._M_p" (field_expression "reloc_name._M_dataplus" identifier . field_identifier) . field_identifier)) ;) (expression_statement "pbVar36 = (byte *)".line";" (assignment_expression "pbVar36 = (byte *)".line"" identifier = (cast_expression "(byte *)".line"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".line"" " string_content "))) ;) (do_statement "do {\n                    if (lVar24 == 0) break;\n                    lVar24 = lVar24 + -1;\n                    bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                    bVar14 = *_Var31._M_p == *pbVar36;\n                    _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                    pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                  } while (bVar14);" do (compound_statement "{\n                    if (lVar24 == 0) break;\n                    lVar24 = lVar24 + -1;\n                    bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                    bVar14 = *_Var31._M_p == *pbVar36;\n                    _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                    pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                  }" { (if_statement "if (lVar24 == 0) break;" if (parenthesized_expression "(lVar24 == 0)" ( (binary_expression "lVar24 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar24 = lVar24 + -1;" (assignment_expression "lVar24 = lVar24 + -1" identifier = (binary_expression "lVar24 + -1" identifier + number_literal)) ;) (expression_statement "bVar39 = (byte)*_Var31._M_p < *pbVar36;" (assignment_expression "bVar39 = (byte)*_Var31._M_p < *pbVar36" identifier = (binary_expression "(byte)*_Var31._M_p < *pbVar36" (binary_expression "(byte)*_Var31._M_p" (parenthesized_expression "(byte)" ( identifier )) * (field_expression "_Var31._M_p" identifier . field_identifier)) < (pointer_expression "*pbVar36" * identifier))) ;) (expression_statement "bVar14 = *_Var31._M_p == *pbVar36;" (assignment_expression "bVar14 = *_Var31._M_p == *pbVar36" identifier = (binary_expression "*_Var31._M_p == *pbVar36" (pointer_expression "*_Var31._M_p" * (field_expression "_Var31._M_p" identifier . field_identifier)) == (pointer_expression "*pbVar36" * identifier))) ;) (expression_statement "_Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);" (assignment_expression "_Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1)" (field_expression "_Var31._M_p" identifier . field_identifier) = (call_expression "(pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1)" ( (binary_expression "(byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1" (binary_expression "(byte *)_Var31._M_p + (ulong)bVar41 * -2" (cast_expression "(byte *)_Var31._M_p" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "_Var31._M_p" identifier . field_identifier)) + (binary_expression "(ulong)bVar41 * -2" (cast_expression "(ulong)bVar41" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) (expression_statement "pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;" (assignment_expression "pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1" identifier = (binary_expression "pbVar36 + (ulong)bVar41 * -2 + 1" (binary_expression "pbVar36 + (ulong)bVar41 * -2" identifier + (binary_expression "(ulong)bVar41 * -2" (cast_expression "(ulong)bVar41" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar14)" ( identifier )) ;) (expression_statement "bVar40 = false;" (assignment_expression "bVar40 = false" identifier = false) ;) (expression_statement "bVar14 = (!bVar39 && !bVar14) == bVar39;" (assignment_expression "bVar14 = (!bVar39 && !bVar14) == bVar39" identifier = (binary_expression "(!bVar39 && !bVar14) == bVar39" (parenthesized_expression "(!bVar39 && !bVar14)" ( (binary_expression "!bVar39 && !bVar14" (unary_expression "!bVar39" ! identifier) && (unary_expression "!bVar14" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar14) {\n                    lVar24 = 5;\n                    _Var31._M_p = reloc_name._M_dataplus._M_p;\n                    pbVar36 = (byte *)".stab";\n                    do {\n                      if (lVar24 == 0) break;\n                      lVar24 = lVar24 + -1;\n                      bVar40 = (byte)*_Var31._M_p < *pbVar36;\n                      bVar14 = *_Var31._M_p == *pbVar36;\n                      _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                      pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                    } while (bVar14);\n                    bVar39 = false;\n                    bVar14 = (!bVar40 && !bVar14) == bVar40;\n                    if (!bVar14) {\n                      lVar24 = 4;\n                      _Var31._M_p = reloc_name._M_dataplus._M_p;\n                      pbVar36 = &DAT_0053357f;\n                      do {\n                        if (lVar24 == 0) break;\n                        lVar24 = lVar24 + -1;\n                        bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                        bVar14 = *_Var31._M_p == *pbVar36;\n                        _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                        pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                      } while (bVar14);\n                      bVar40 = false;\n                      bVar14 = (!bVar39 && !bVar14) == bVar39;\n                      if (!bVar14) {\n                        lVar24 = 10;\n                        _Var31._M_p = reloc_name._M_dataplus._M_p;\n                        pbVar36 = (byte *)".eh_frame";\n                        do {\n                          if (lVar24 == 0) break;\n                          lVar24 = lVar24 + -1;\n                          bVar40 = (byte)*_Var31._M_p < *pbVar36;\n                          bVar14 = *_Var31._M_p == *pbVar36;\n                          _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                          pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                        } while (bVar14);\n                        bVar39 = false;\n                        bVar14 = (!bVar40 && !bVar14) == bVar40;\n                        if (!bVar14) {\n                          lVar24 = 0x12;\n                          _Var31._M_p = reloc_name._M_dataplus._M_p;\n                          pbVar36 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar24 == 0) break;\n                            lVar24 = lVar24 + -1;\n                            bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                            bVar14 = *_Var31._M_p == *pbVar36;\n                            _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                            pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                          } while (bVar14);\n                          if ((!bVar39 && !bVar14) != bVar39) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }" if (parenthesized_expression "(!bVar14)" ( (unary_expression "!bVar14" ! identifier) )) (compound_statement "{\n                    lVar24 = 5;\n                    _Var31._M_p = reloc_name._M_dataplus._M_p;\n                    pbVar36 = (byte *)".stab";\n                    do {\n                      if (lVar24 == 0) break;\n                      lVar24 = lVar24 + -1;\n                      bVar40 = (byte)*_Var31._M_p < *pbVar36;\n                      bVar14 = *_Var31._M_p == *pbVar36;\n                      _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                      pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                    } while (bVar14);\n                    bVar39 = false;\n                    bVar14 = (!bVar40 && !bVar14) == bVar40;\n                    if (!bVar14) {\n                      lVar24 = 4;\n                      _Var31._M_p = reloc_name._M_dataplus._M_p;\n                      pbVar36 = &DAT_0053357f;\n                      do {\n                        if (lVar24 == 0) break;\n                        lVar24 = lVar24 + -1;\n                        bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                        bVar14 = *_Var31._M_p == *pbVar36;\n                        _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                        pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                      } while (bVar14);\n                      bVar40 = false;\n                      bVar14 = (!bVar39 && !bVar14) == bVar39;\n                      if (!bVar14) {\n                        lVar24 = 10;\n                        _Var31._M_p = reloc_name._M_dataplus._M_p;\n                        pbVar36 = (byte *)".eh_frame";\n                        do {\n                          if (lVar24 == 0) break;\n                          lVar24 = lVar24 + -1;\n                          bVar40 = (byte)*_Var31._M_p < *pbVar36;\n                          bVar14 = *_Var31._M_p == *pbVar36;\n                          _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                          pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                        } while (bVar14);\n                        bVar39 = false;\n                        bVar14 = (!bVar40 && !bVar14) == bVar40;\n                        if (!bVar14) {\n                          lVar24 = 0x12;\n                          _Var31._M_p = reloc_name._M_dataplus._M_p;\n                          pbVar36 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar24 == 0) break;\n                            lVar24 = lVar24 + -1;\n                            bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                            bVar14 = *_Var31._M_p == *pbVar36;\n                            _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                            pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                          } while (bVar14);\n                          if ((!bVar39 && !bVar14) != bVar39) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }" { (expression_statement "lVar24 = 5;" (assignment_expression "lVar24 = 5" identifier = number_literal) ;) (expression_statement "_Var31._M_p = reloc_name._M_dataplus._M_p;" (assignment_expression "_Var31._M_p = reloc_name._M_dataplus._M_p" (field_expression "_Var31._M_p" identifier . field_identifier) = (field_expression "reloc_name._M_dataplus._M_p" (field_expression "reloc_name._M_dataplus" identifier . field_identifier) . field_identifier)) ;) (expression_statement "pbVar36 = (byte *)".stab";" (assignment_expression "pbVar36 = (byte *)".stab"" identifier = (cast_expression "(byte *)".stab"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".stab"" " string_content "))) ;) (do_statement "do {\n                      if (lVar24 == 0) break;\n                      lVar24 = lVar24 + -1;\n                      bVar40 = (byte)*_Var31._M_p < *pbVar36;\n                      bVar14 = *_Var31._M_p == *pbVar36;\n                      _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                      pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                    } while (bVar14);" do (compound_statement "{\n                      if (lVar24 == 0) break;\n                      lVar24 = lVar24 + -1;\n                      bVar40 = (byte)*_Var31._M_p < *pbVar36;\n                      bVar14 = *_Var31._M_p == *pbVar36;\n                      _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                      pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                    }" { (if_statement "if (lVar24 == 0) break;" if (parenthesized_expression "(lVar24 == 0)" ( (binary_expression "lVar24 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar24 = lVar24 + -1;" (assignment_expression "lVar24 = lVar24 + -1" identifier = (binary_expression "lVar24 + -1" identifier + number_literal)) ;) (expression_statement "bVar40 = (byte)*_Var31._M_p < *pbVar36;" (assignment_expression "bVar40 = (byte)*_Var31._M_p < *pbVar36" identifier = (binary_expression "(byte)*_Var31._M_p < *pbVar36" (binary_expression "(byte)*_Var31._M_p" (parenthesized_expression "(byte)" ( identifier )) * (field_expression "_Var31._M_p" identifier . field_identifier)) < (pointer_expression "*pbVar36" * identifier))) ;) (expression_statement "bVar14 = *_Var31._M_p == *pbVar36;" (assignment_expression "bVar14 = *_Var31._M_p == *pbVar36" identifier = (binary_expression "*_Var31._M_p == *pbVar36" (pointer_expression "*_Var31._M_p" * (field_expression "_Var31._M_p" identifier . field_identifier)) == (pointer_expression "*pbVar36" * identifier))) ;) (expression_statement "_Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);" (assignment_expression "_Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1)" (field_expression "_Var31._M_p" identifier . field_identifier) = (call_expression "(pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1)" ( (binary_expression "(byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1" (binary_expression "(byte *)_Var31._M_p + (ulong)bVar41 * -2" (cast_expression "(byte *)_Var31._M_p" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "_Var31._M_p" identifier . field_identifier)) + (binary_expression "(ulong)bVar41 * -2" (cast_expression "(ulong)bVar41" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) (expression_statement "pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;" (assignment_expression "pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1" identifier = (binary_expression "pbVar36 + (ulong)bVar41 * -2 + 1" (binary_expression "pbVar36 + (ulong)bVar41 * -2" identifier + (binary_expression "(ulong)bVar41 * -2" (cast_expression "(ulong)bVar41" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar14)" ( identifier )) ;) (expression_statement "bVar39 = false;" (assignment_expression "bVar39 = false" identifier = false) ;) (expression_statement "bVar14 = (!bVar40 && !bVar14) == bVar40;" (assignment_expression "bVar14 = (!bVar40 && !bVar14) == bVar40" identifier = (binary_expression "(!bVar40 && !bVar14) == bVar40" (parenthesized_expression "(!bVar40 && !bVar14)" ( (binary_expression "!bVar40 && !bVar14" (unary_expression "!bVar40" ! identifier) && (unary_expression "!bVar14" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar14) {\n                      lVar24 = 4;\n                      _Var31._M_p = reloc_name._M_dataplus._M_p;\n                      pbVar36 = &DAT_0053357f;\n                      do {\n                        if (lVar24 == 0) break;\n                        lVar24 = lVar24 + -1;\n                        bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                        bVar14 = *_Var31._M_p == *pbVar36;\n                        _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                        pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                      } while (bVar14);\n                      bVar40 = false;\n                      bVar14 = (!bVar39 && !bVar14) == bVar39;\n                      if (!bVar14) {\n                        lVar24 = 10;\n                        _Var31._M_p = reloc_name._M_dataplus._M_p;\n                        pbVar36 = (byte *)".eh_frame";\n                        do {\n                          if (lVar24 == 0) break;\n                          lVar24 = lVar24 + -1;\n                          bVar40 = (byte)*_Var31._M_p < *pbVar36;\n                          bVar14 = *_Var31._M_p == *pbVar36;\n                          _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                          pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                        } while (bVar14);\n                        bVar39 = false;\n                        bVar14 = (!bVar40 && !bVar14) == bVar40;\n                        if (!bVar14) {\n                          lVar24 = 0x12;\n                          _Var31._M_p = reloc_name._M_dataplus._M_p;\n                          pbVar36 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar24 == 0) break;\n                            lVar24 = lVar24 + -1;\n                            bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                            bVar14 = *_Var31._M_p == *pbVar36;\n                            _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                            pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                          } while (bVar14);\n                          if ((!bVar39 && !bVar14) != bVar39) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }" if (parenthesized_expression "(!bVar14)" ( (unary_expression "!bVar14" ! identifier) )) (compound_statement "{\n                      lVar24 = 4;\n                      _Var31._M_p = reloc_name._M_dataplus._M_p;\n                      pbVar36 = &DAT_0053357f;\n                      do {\n                        if (lVar24 == 0) break;\n                        lVar24 = lVar24 + -1;\n                        bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                        bVar14 = *_Var31._M_p == *pbVar36;\n                        _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                        pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                      } while (bVar14);\n                      bVar40 = false;\n                      bVar14 = (!bVar39 && !bVar14) == bVar39;\n                      if (!bVar14) {\n                        lVar24 = 10;\n                        _Var31._M_p = reloc_name._M_dataplus._M_p;\n                        pbVar36 = (byte *)".eh_frame";\n                        do {\n                          if (lVar24 == 0) break;\n                          lVar24 = lVar24 + -1;\n                          bVar40 = (byte)*_Var31._M_p < *pbVar36;\n                          bVar14 = *_Var31._M_p == *pbVar36;\n                          _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                          pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                        } while (bVar14);\n                        bVar39 = false;\n                        bVar14 = (!bVar40 && !bVar14) == bVar40;\n                        if (!bVar14) {\n                          lVar24 = 0x12;\n                          _Var31._M_p = reloc_name._M_dataplus._M_p;\n                          pbVar36 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar24 == 0) break;\n                            lVar24 = lVar24 + -1;\n                            bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                            bVar14 = *_Var31._M_p == *pbVar36;\n                            _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                            pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                          } while (bVar14);\n                          if ((!bVar39 && !bVar14) != bVar39) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }" { (expression_statement "lVar24 = 4;" (assignment_expression "lVar24 = 4" identifier = number_literal) ;) (expression_statement "_Var31._M_p = reloc_name._M_dataplus._M_p;" (assignment_expression "_Var31._M_p = reloc_name._M_dataplus._M_p" (field_expression "_Var31._M_p" identifier . field_identifier) = (field_expression "reloc_name._M_dataplus._M_p" (field_expression "reloc_name._M_dataplus" identifier . field_identifier) . field_identifier)) ;) (expression_statement "pbVar36 = &DAT_0053357f;" (assignment_expression "pbVar36 = &DAT_0053357f" identifier = (pointer_expression "&DAT_0053357f" & identifier)) ;) (do_statement "do {\n                        if (lVar24 == 0) break;\n                        lVar24 = lVar24 + -1;\n                        bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                        bVar14 = *_Var31._M_p == *pbVar36;\n                        _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                        pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                      } while (bVar14);" do (compound_statement "{\n                        if (lVar24 == 0) break;\n                        lVar24 = lVar24 + -1;\n                        bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                        bVar14 = *_Var31._M_p == *pbVar36;\n                        _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                        pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                      }" { (if_statement "if (lVar24 == 0) break;" if (parenthesized_expression "(lVar24 == 0)" ( (binary_expression "lVar24 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar24 = lVar24 + -1;" (assignment_expression "lVar24 = lVar24 + -1" identifier = (binary_expression "lVar24 + -1" identifier + number_literal)) ;) (expression_statement "bVar39 = (byte)*_Var31._M_p < *pbVar36;" (assignment_expression "bVar39 = (byte)*_Var31._M_p < *pbVar36" identifier = (binary_expression "(byte)*_Var31._M_p < *pbVar36" (binary_expression "(byte)*_Var31._M_p" (parenthesized_expression "(byte)" ( identifier )) * (field_expression "_Var31._M_p" identifier . field_identifier)) < (pointer_expression "*pbVar36" * identifier))) ;) (expression_statement "bVar14 = *_Var31._M_p == *pbVar36;" (assignment_expression "bVar14 = *_Var31._M_p == *pbVar36" identifier = (binary_expression "*_Var31._M_p == *pbVar36" (pointer_expression "*_Var31._M_p" * (field_expression "_Var31._M_p" identifier . field_identifier)) == (pointer_expression "*pbVar36" * identifier))) ;) (expression_statement "_Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);" (assignment_expression "_Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1)" (field_expression "_Var31._M_p" identifier . field_identifier) = (call_expression "(pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1)" ( (binary_expression "(byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1" (binary_expression "(byte *)_Var31._M_p + (ulong)bVar41 * -2" (cast_expression "(byte *)_Var31._M_p" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "_Var31._M_p" identifier . field_identifier)) + (binary_expression "(ulong)bVar41 * -2" (cast_expression "(ulong)bVar41" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) (expression_statement "pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;" (assignment_expression "pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1" identifier = (binary_expression "pbVar36 + (ulong)bVar41 * -2 + 1" (binary_expression "pbVar36 + (ulong)bVar41 * -2" identifier + (binary_expression "(ulong)bVar41 * -2" (cast_expression "(ulong)bVar41" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar14)" ( identifier )) ;) (expression_statement "bVar40 = false;" (assignment_expression "bVar40 = false" identifier = false) ;) (expression_statement "bVar14 = (!bVar39 && !bVar14) == bVar39;" (assignment_expression "bVar14 = (!bVar39 && !bVar14) == bVar39" identifier = (binary_expression "(!bVar39 && !bVar14) == bVar39" (parenthesized_expression "(!bVar39 && !bVar14)" ( (binary_expression "!bVar39 && !bVar14" (unary_expression "!bVar39" ! identifier) && (unary_expression "!bVar14" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar14) {\n                        lVar24 = 10;\n                        _Var31._M_p = reloc_name._M_dataplus._M_p;\n                        pbVar36 = (byte *)".eh_frame";\n                        do {\n                          if (lVar24 == 0) break;\n                          lVar24 = lVar24 + -1;\n                          bVar40 = (byte)*_Var31._M_p < *pbVar36;\n                          bVar14 = *_Var31._M_p == *pbVar36;\n                          _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                          pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                        } while (bVar14);\n                        bVar39 = false;\n                        bVar14 = (!bVar40 && !bVar14) == bVar40;\n                        if (!bVar14) {\n                          lVar24 = 0x12;\n                          _Var31._M_p = reloc_name._M_dataplus._M_p;\n                          pbVar36 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar24 == 0) break;\n                            lVar24 = lVar24 + -1;\n                            bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                            bVar14 = *_Var31._M_p == *pbVar36;\n                            _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                            pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                          } while (bVar14);\n                          if ((!bVar39 && !bVar14) != bVar39) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }" if (parenthesized_expression "(!bVar14)" ( (unary_expression "!bVar14" ! identifier) )) (compound_statement "{\n                        lVar24 = 10;\n                        _Var31._M_p = reloc_name._M_dataplus._M_p;\n                        pbVar36 = (byte *)".eh_frame";\n                        do {\n                          if (lVar24 == 0) break;\n                          lVar24 = lVar24 + -1;\n                          bVar40 = (byte)*_Var31._M_p < *pbVar36;\n                          bVar14 = *_Var31._M_p == *pbVar36;\n                          _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                          pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                        } while (bVar14);\n                        bVar39 = false;\n                        bVar14 = (!bVar40 && !bVar14) == bVar40;\n                        if (!bVar14) {\n                          lVar24 = 0x12;\n                          _Var31._M_p = reloc_name._M_dataplus._M_p;\n                          pbVar36 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar24 == 0) break;\n                            lVar24 = lVar24 + -1;\n                            bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                            bVar14 = *_Var31._M_p == *pbVar36;\n                            _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                            pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                          } while (bVar14);\n                          if ((!bVar39 && !bVar14) != bVar39) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }" { (expression_statement "lVar24 = 10;" (assignment_expression "lVar24 = 10" identifier = number_literal) ;) (expression_statement "_Var31._M_p = reloc_name._M_dataplus._M_p;" (assignment_expression "_Var31._M_p = reloc_name._M_dataplus._M_p" (field_expression "_Var31._M_p" identifier . field_identifier) = (field_expression "reloc_name._M_dataplus._M_p" (field_expression "reloc_name._M_dataplus" identifier . field_identifier) . field_identifier)) ;) (expression_statement "pbVar36 = (byte *)".eh_frame";" (assignment_expression "pbVar36 = (byte *)".eh_frame"" identifier = (cast_expression "(byte *)".eh_frame"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".eh_frame"" " string_content "))) ;) (do_statement "do {\n                          if (lVar24 == 0) break;\n                          lVar24 = lVar24 + -1;\n                          bVar40 = (byte)*_Var31._M_p < *pbVar36;\n                          bVar14 = *_Var31._M_p == *pbVar36;\n                          _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                          pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                        } while (bVar14);" do (compound_statement "{\n                          if (lVar24 == 0) break;\n                          lVar24 = lVar24 + -1;\n                          bVar40 = (byte)*_Var31._M_p < *pbVar36;\n                          bVar14 = *_Var31._M_p == *pbVar36;\n                          _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                          pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                        }" { (if_statement "if (lVar24 == 0) break;" if (parenthesized_expression "(lVar24 == 0)" ( (binary_expression "lVar24 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar24 = lVar24 + -1;" (assignment_expression "lVar24 = lVar24 + -1" identifier = (binary_expression "lVar24 + -1" identifier + number_literal)) ;) (expression_statement "bVar40 = (byte)*_Var31._M_p < *pbVar36;" (assignment_expression "bVar40 = (byte)*_Var31._M_p < *pbVar36" identifier = (binary_expression "(byte)*_Var31._M_p < *pbVar36" (binary_expression "(byte)*_Var31._M_p" (parenthesized_expression "(byte)" ( identifier )) * (field_expression "_Var31._M_p" identifier . field_identifier)) < (pointer_expression "*pbVar36" * identifier))) ;) (expression_statement "bVar14 = *_Var31._M_p == *pbVar36;" (assignment_expression "bVar14 = *_Var31._M_p == *pbVar36" identifier = (binary_expression "*_Var31._M_p == *pbVar36" (pointer_expression "*_Var31._M_p" * (field_expression "_Var31._M_p" identifier . field_identifier)) == (pointer_expression "*pbVar36" * identifier))) ;) (expression_statement "_Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);" (assignment_expression "_Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1)" (field_expression "_Var31._M_p" identifier . field_identifier) = (call_expression "(pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1)" ( (binary_expression "(byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1" (binary_expression "(byte *)_Var31._M_p + (ulong)bVar41 * -2" (cast_expression "(byte *)_Var31._M_p" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "_Var31._M_p" identifier . field_identifier)) + (binary_expression "(ulong)bVar41 * -2" (cast_expression "(ulong)bVar41" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) (expression_statement "pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;" (assignment_expression "pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1" identifier = (binary_expression "pbVar36 + (ulong)bVar41 * -2 + 1" (binary_expression "pbVar36 + (ulong)bVar41 * -2" identifier + (binary_expression "(ulong)bVar41 * -2" (cast_expression "(ulong)bVar41" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar14)" ( identifier )) ;) (expression_statement "bVar39 = false;" (assignment_expression "bVar39 = false" identifier = false) ;) (expression_statement "bVar14 = (!bVar40 && !bVar14) == bVar40;" (assignment_expression "bVar14 = (!bVar40 && !bVar14) == bVar40" identifier = (binary_expression "(!bVar40 && !bVar14) == bVar40" (parenthesized_expression "(!bVar40 && !bVar14)" ( (binary_expression "!bVar40 && !bVar14" (unary_expression "!bVar40" ! identifier) && (unary_expression "!bVar14" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar14) {\n                          lVar24 = 0x12;\n                          _Var31._M_p = reloc_name._M_dataplus._M_p;\n                          pbVar36 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar24 == 0) break;\n                            lVar24 = lVar24 + -1;\n                            bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                            bVar14 = *_Var31._M_p == *pbVar36;\n                            _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                            pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                          } while (bVar14);\n                          if ((!bVar39 && !bVar14) != bVar39) goto LAB_0030ff50;\n                        }" if (parenthesized_expression "(!bVar14)" ( (unary_expression "!bVar14" ! identifier) )) (compound_statement "{\n                          lVar24 = 0x12;\n                          _Var31._M_p = reloc_name._M_dataplus._M_p;\n                          pbVar36 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar24 == 0) break;\n                            lVar24 = lVar24 + -1;\n                            bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                            bVar14 = *_Var31._M_p == *pbVar36;\n                            _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                            pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                          } while (bVar14);\n                          if ((!bVar39 && !bVar14) != bVar39) goto LAB_0030ff50;\n                        }" { (expression_statement "lVar24 = 0x12;" (assignment_expression "lVar24 = 0x12" identifier = number_literal) ;) (expression_statement "_Var31._M_p = reloc_name._M_dataplus._M_p;" (assignment_expression "_Var31._M_p = reloc_name._M_dataplus._M_p" (field_expression "_Var31._M_p" identifier . field_identifier) = (field_expression "reloc_name._M_dataplus._M_p" (field_expression "reloc_name._M_dataplus" identifier . field_identifier) . field_identifier)) ;) (expression_statement "pbVar36 = (byte *)".gcc_except_table";" (assignment_expression "pbVar36 = (byte *)".gcc_except_table"" identifier = (cast_expression "(byte *)".gcc_except_table"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".gcc_except_table"" " string_content "))) ;) (do_statement "do {\n                            if (lVar24 == 0) break;\n                            lVar24 = lVar24 + -1;\n                            bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                            bVar14 = *_Var31._M_p == *pbVar36;\n                            _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                            pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                          } while (bVar14);" do (compound_statement "{\n                            if (lVar24 == 0) break;\n                            lVar24 = lVar24 + -1;\n                            bVar39 = (byte)*_Var31._M_p < *pbVar36;\n                            bVar14 = *_Var31._M_p == *pbVar36;\n                            _Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);\n                            pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                          }" { (if_statement "if (lVar24 == 0) break;" if (parenthesized_expression "(lVar24 == 0)" ( (binary_expression "lVar24 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar24 = lVar24 + -1;" (assignment_expression "lVar24 = lVar24 + -1" identifier = (binary_expression "lVar24 + -1" identifier + number_literal)) ;) (expression_statement "bVar39 = (byte)*_Var31._M_p < *pbVar36;" (assignment_expression "bVar39 = (byte)*_Var31._M_p < *pbVar36" identifier = (binary_expression "(byte)*_Var31._M_p < *pbVar36" (binary_expression "(byte)*_Var31._M_p" (parenthesized_expression "(byte)" ( identifier )) * (field_expression "_Var31._M_p" identifier . field_identifier)) < (pointer_expression "*pbVar36" * identifier))) ;) (expression_statement "bVar14 = *_Var31._M_p == *pbVar36;" (assignment_expression "bVar14 = *_Var31._M_p == *pbVar36" identifier = (binary_expression "*_Var31._M_p == *pbVar36" (pointer_expression "*_Var31._M_p" * (field_expression "_Var31._M_p" identifier . field_identifier)) == (pointer_expression "*pbVar36" * identifier))) ;) (expression_statement "_Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1);" (assignment_expression "_Var31._M_p = (pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1)" (field_expression "_Var31._M_p" identifier . field_identifier) = (call_expression "(pointer)((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "((byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1)" ( (binary_expression "(byte *)_Var31._M_p + (ulong)bVar41 * -2 + 1" (binary_expression "(byte *)_Var31._M_p + (ulong)bVar41 * -2" (cast_expression "(byte *)_Var31._M_p" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "_Var31._M_p" identifier . field_identifier)) + (binary_expression "(ulong)bVar41 * -2" (cast_expression "(ulong)bVar41" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) (expression_statement "pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;" (assignment_expression "pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1" identifier = (binary_expression "pbVar36 + (ulong)bVar41 * -2 + 1" (binary_expression "pbVar36 + (ulong)bVar41 * -2" identifier + (binary_expression "(ulong)bVar41 * -2" (cast_expression "(ulong)bVar41" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar14)" ( identifier )) ;) (if_statement "if ((!bVar39 && !bVar14) != bVar39) goto LAB_0030ff50;" if (parenthesized_expression "((!bVar39 && !bVar14) != bVar39)" ( (binary_expression "(!bVar39 && !bVar14) != bVar39" (parenthesized_expression "(!bVar39 && !bVar14)" ( (binary_expression "!bVar39 && !bVar14" (unary_expression "!bVar39" ! identifier) && (unary_expression "!bVar14" ! identifier)) )) != identifier) )) (goto_statement "goto LAB_0030ff50;" goto statement_identifier ;)) })) (goto_statement "goto LAB_00310006;" goto statement_identifier ;) })) })) })) })) })) })) (labeled_statement "LAB_0030fdc0:\n                    /* try { // try from 0030fdd2 to 0030fdd6 has its CatchHandler @ 00310912 */\n            AVar17 = gold::Sized_relobj_file<32,_true>::map_to_kept_section\n                               (this_01,uVar30,&reloc_name,&found);" statement_identifier : comment (ERROR "AVar17 = gold::" (assignment_expression "AVar17 = gold" identifier = identifier) : :) (expression_statement "Sized_relobj_file<32,_true>::map_to_kept_section\n                               (this_01,uVar30,&reloc_name,&found);" (comma_expression "Sized_relobj_file<32,_true>::map_to_kept_section\n                               (this_01,uVar30,&reloc_name,&found)" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_true>::map_to_kept_section\n                               (this_01,uVar30,&reloc_name,&found)" identifier > (ERROR "::" : :) (call_expression "map_to_kept_section\n                               (this_01,uVar30,&reloc_name,&found)" identifier (argument_list "(this_01,uVar30,&reloc_name,&found)" ( identifier , identifier , (pointer_expression "&reloc_name" & identifier) , (pointer_expression "&found" & identifier) ))))) ;)) (expression_statement "symval2.u_.value = 0;" (assignment_expression "symval2.u_.value = 0" (field_expression "symval2.u_.value" (field_expression "symval2.u_" identifier . field_identifier) . field_identifier) = number_literal) ;) (if_statement "if (found != false) {\n              symval2.u_.value = AVar17 + (pSVar38->u_).value;\n            }" if (parenthesized_expression "(found != false)" ( (binary_expression "found != false" identifier != false) )) (compound_statement "{\n              symval2.u_.value = AVar17 + (pSVar38->u_).value;\n            }" { (expression_statement "symval2.u_.value = AVar17 + (pSVar38->u_).value;" (assignment_expression "symval2.u_.value = AVar17 + (pSVar38->u_).value" (field_expression "symval2.u_.value" (field_expression "symval2.u_" identifier . field_identifier) . field_identifier) = (binary_expression "AVar17 + (pSVar38->u_).value" identifier + (field_expression "(pSVar38->u_).value" (parenthesized_expression "(pSVar38->u_)" ( (field_expression "pSVar38->u_" identifier -> field_identifier) )) . field_identifier))) ;) })) (expression_statement "iVar13 = 1;" (assignment_expression "iVar13 = 1" identifier = number_literal) ;) }) (else_clause "else {\n            if (iVar13 == 1) goto LAB_0030fdc0;\n            if (iVar13 == 3) {\nLAB_0030ff50:\n              pSVar7 = relinfo->object;\n              if (pGVar21 == (General_options *)0x0) {\n                    /* try { // try from 003105ee to 0031061d has its CatchHandler @ 00310912 */\n                pcVar20 = gold::Sized_relobj_file<32,_true>::get_symbol_name(pSVar7,uVar37);\n                pcVar27 = (char *)gettext(\n                                         "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                         );\n                gold::gold_error_at_location<32,_true>\n                          (relinfo,(size_t)local_148,local_140,pcVar27,pcVar20,(ulong)uVar37);\n              }\n              else {\n                    /* try { // try from 0030ff70 to 0030ff74 has its CatchHandler @ 00310912 */\n                gold::Symbol::demangled_name((string *)&found,(Symbol *)pGVar21);\n                uVar23 = CONCAT71(uStack_77,found);\n                pcVar20 = (char *)gettext(\n                                         "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                         );\n                    /* try { // try from 0030ffa4 to 0030ffa8 has its CatchHandler @ 0031093c */\n                gold::gold_error_at_location<32,_true>\n                          (relinfo,(size_t)local_148,local_140,pcVar20,uVar23);\n                if ((undefined1 *)CONCAT71(uStack_77,found) != auStack_68) {\n                  operator_delete((undefined1 *)CONCAT71(uStack_77,found));\n                }\n              }\n                    /* try { // try from 0030ffd1 to 0030ffd5 has its CatchHandler @ 00310912 */\n              uVar37 = gold::Sized_relobj_file<32,_true>::symbol_section_and_value\n                                 (pSVar7,uVar37,&value,&is_ordinary);\n              if (uVar37 != 0) {\n                    /* try { // try from 00310544 to 0031057d has its CatchHandler @ 00310912 */\n                pRVar25 = gold::Sized_relobj_file<32,_true>::find_kept_section_object\n                                    (pSVar7,uVar37,&key_symndx);\n                if (key_symndx != 0) {\n                    /* try { // try from 00310725 to 00310745 has its CatchHandler @ 00310912 */\n                  pcVar20 = gold::Sized_relobj_file<32,_true>::get_symbol_name(pSVar7,key_symndx);\n                  pcVar27 = (char *)gettext("  section group signature: \"%s\"");\n                  gold::gold_info(pcVar27,pcVar20);\n                }\n                if (pRVar25 != (Relobj *)0x0) {\n                  pcVar11 = (pRVar25->super_Object).name_._M_dataplus._M_p;\n                  pcVar20 = (char *)gettext("  prevailing definition is from %s");\n                  gold::gold_info(pcVar20,pcVar11);\n                }\n              }\n              iVar13 = 3;\n            }\n            else {\nLAB_00310006:\n              iVar13 = 2;\n            }\n            symval2.u_.value = 0;\n          }" else (compound_statement "{\n            if (iVar13 == 1) goto LAB_0030fdc0;\n            if (iVar13 == 3) {\nLAB_0030ff50:\n              pSVar7 = relinfo->object;\n              if (pGVar21 == (General_options *)0x0) {\n                    /* try { // try from 003105ee to 0031061d has its CatchHandler @ 00310912 */\n                pcVar20 = gold::Sized_relobj_file<32,_true>::get_symbol_name(pSVar7,uVar37);\n                pcVar27 = (char *)gettext(\n                                         "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                         );\n                gold::gold_error_at_location<32,_true>\n                          (relinfo,(size_t)local_148,local_140,pcVar27,pcVar20,(ulong)uVar37);\n              }\n              else {\n                    /* try { // try from 0030ff70 to 0030ff74 has its CatchHandler @ 00310912 */\n                gold::Symbol::demangled_name((string *)&found,(Symbol *)pGVar21);\n                uVar23 = CONCAT71(uStack_77,found);\n                pcVar20 = (char *)gettext(\n                                         "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                         );\n                    /* try { // try from 0030ffa4 to 0030ffa8 has its CatchHandler @ 0031093c */\n                gold::gold_error_at_location<32,_true>\n                          (relinfo,(size_t)local_148,local_140,pcVar20,uVar23);\n                if ((undefined1 *)CONCAT71(uStack_77,found) != auStack_68) {\n                  operator_delete((undefined1 *)CONCAT71(uStack_77,found));\n                }\n              }\n                    /* try { // try from 0030ffd1 to 0030ffd5 has its CatchHandler @ 00310912 */\n              uVar37 = gold::Sized_relobj_file<32,_true>::symbol_section_and_value\n                                 (pSVar7,uVar37,&value,&is_ordinary);\n              if (uVar37 != 0) {\n                    /* try { // try from 00310544 to 0031057d has its CatchHandler @ 00310912 */\n                pRVar25 = gold::Sized_relobj_file<32,_true>::find_kept_section_object\n                                    (pSVar7,uVar37,&key_symndx);\n                if (key_symndx != 0) {\n                    /* try { // try from 00310725 to 00310745 has its CatchHandler @ 00310912 */\n                  pcVar20 = gold::Sized_relobj_file<32,_true>::get_symbol_name(pSVar7,key_symndx);\n                  pcVar27 = (char *)gettext("  section group signature: \"%s\"");\n                  gold::gold_info(pcVar27,pcVar20);\n                }\n                if (pRVar25 != (Relobj *)0x0) {\n                  pcVar11 = (pRVar25->super_Object).name_._M_dataplus._M_p;\n                  pcVar20 = (char *)gettext("  prevailing definition is from %s");\n                  gold::gold_info(pcVar20,pcVar11);\n                }\n              }\n              iVar13 = 3;\n            }\n            else {\nLAB_00310006:\n              iVar13 = 2;\n            }\n            symval2.u_.value = 0;\n          }" { (if_statement "if (iVar13 == 1) goto LAB_0030fdc0;" if (parenthesized_expression "(iVar13 == 1)" ( (binary_expression "iVar13 == 1" identifier == number_literal) )) (goto_statement "goto LAB_0030fdc0;" goto statement_identifier ;)) (if_statement "if (iVar13 == 3) {\nLAB_0030ff50:\n              pSVar7 = relinfo->object;\n              if (pGVar21 == (General_options *)0x0) {\n                    /* try { // try from 003105ee to 0031061d has its CatchHandler @ 00310912 */\n                pcVar20 = gold::Sized_relobj_file<32,_true>::get_symbol_name(pSVar7,uVar37);\n                pcVar27 = (char *)gettext(\n                                         "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                         );\n                gold::gold_error_at_location<32,_true>\n                          (relinfo,(size_t)local_148,local_140,pcVar27,pcVar20,(ulong)uVar37);\n              }\n              else {\n                    /* try { // try from 0030ff70 to 0030ff74 has its CatchHandler @ 00310912 */\n                gold::Symbol::demangled_name((string *)&found,(Symbol *)pGVar21);\n                uVar23 = CONCAT71(uStack_77,found);\n                pcVar20 = (char *)gettext(\n                                         "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                         );\n                    /* try { // try from 0030ffa4 to 0030ffa8 has its CatchHandler @ 0031093c */\n                gold::gold_error_at_location<32,_true>\n                          (relinfo,(size_t)local_148,local_140,pcVar20,uVar23);\n                if ((undefined1 *)CONCAT71(uStack_77,found) != auStack_68) {\n                  operator_delete((undefined1 *)CONCAT71(uStack_77,found));\n                }\n              }\n                    /* try { // try from 0030ffd1 to 0030ffd5 has its CatchHandler @ 00310912 */\n              uVar37 = gold::Sized_relobj_file<32,_true>::symbol_section_and_value\n                                 (pSVar7,uVar37,&value,&is_ordinary);\n              if (uVar37 != 0) {\n                    /* try { // try from 00310544 to 0031057d has its CatchHandler @ 00310912 */\n                pRVar25 = gold::Sized_relobj_file<32,_true>::find_kept_section_object\n                                    (pSVar7,uVar37,&key_symndx);\n                if (key_symndx != 0) {\n                    /* try { // try from 00310725 to 00310745 has its CatchHandler @ 00310912 */\n                  pcVar20 = gold::Sized_relobj_file<32,_true>::get_symbol_name(pSVar7,key_symndx);\n                  pcVar27 = (char *)gettext("  section group signature: \"%s\"");\n                  gold::gold_info(pcVar27,pcVar20);\n                }\n                if (pRVar25 != (Relobj *)0x0) {\n                  pcVar11 = (pRVar25->super_Object).name_._M_dataplus._M_p;\n                  pcVar20 = (char *)gettext("  prevailing definition is from %s");\n                  gold::gold_info(pcVar20,pcVar11);\n                }\n              }\n              iVar13 = 3;\n            }\n            else {\nLAB_00310006:\n              iVar13 = 2;\n            }" if (parenthesized_expression "(iVar13 == 3)" ( (binary_expression "iVar13 == 3" identifier == number_literal) )) (compound_statement "{\nLAB_0030ff50:\n              pSVar7 = relinfo->object;\n              if (pGVar21 == (General_options *)0x0) {\n                    /* try { // try from 003105ee to 0031061d has its CatchHandler @ 00310912 */\n                pcVar20 = gold::Sized_relobj_file<32,_true>::get_symbol_name(pSVar7,uVar37);\n                pcVar27 = (char *)gettext(\n                                         "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                         );\n                gold::gold_error_at_location<32,_true>\n                          (relinfo,(size_t)local_148,local_140,pcVar27,pcVar20,(ulong)uVar37);\n              }\n              else {\n                    /* try { // try from 0030ff70 to 0030ff74 has its CatchHandler @ 00310912 */\n                gold::Symbol::demangled_name((string *)&found,(Symbol *)pGVar21);\n                uVar23 = CONCAT71(uStack_77,found);\n                pcVar20 = (char *)gettext(\n                                         "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                         );\n                    /* try { // try from 0030ffa4 to 0030ffa8 has its CatchHandler @ 0031093c */\n                gold::gold_error_at_location<32,_true>\n                          (relinfo,(size_t)local_148,local_140,pcVar20,uVar23);\n                if ((undefined1 *)CONCAT71(uStack_77,found) != auStack_68) {\n                  operator_delete((undefined1 *)CONCAT71(uStack_77,found));\n                }\n              }\n                    /* try { // try from 0030ffd1 to 0030ffd5 has its CatchHandler @ 00310912 */\n              uVar37 = gold::Sized_relobj_file<32,_true>::symbol_section_and_value\n                                 (pSVar7,uVar37,&value,&is_ordinary);\n              if (uVar37 != 0) {\n                    /* try { // try from 00310544 to 0031057d has its CatchHandler @ 00310912 */\n                pRVar25 = gold::Sized_relobj_file<32,_true>::find_kept_section_object\n                                    (pSVar7,uVar37,&key_symndx);\n                if (key_symndx != 0) {\n                    /* try { // try from 00310725 to 00310745 has its CatchHandler @ 00310912 */\n                  pcVar20 = gold::Sized_relobj_file<32,_true>::get_symbol_name(pSVar7,key_symndx);\n                  pcVar27 = (char *)gettext("  section group signature: \"%s\"");\n                  gold::gold_info(pcVar27,pcVar20);\n                }\n                if (pRVar25 != (Relobj *)0x0) {\n                  pcVar11 = (pRVar25->super_Object).name_._M_dataplus._M_p;\n                  pcVar20 = (char *)gettext("  prevailing definition is from %s");\n                  gold::gold_info(pcVar20,pcVar11);\n                }\n              }\n              iVar13 = 3;\n            }" { (labeled_statement "LAB_0030ff50:\n              pSVar7 = relinfo->object;" statement_identifier : (expression_statement "pSVar7 = relinfo->object;" (assignment_expression "pSVar7 = relinfo->object" identifier = (field_expression "relinfo->object" identifier -> field_identifier)) ;)) (if_statement "if (pGVar21 == (General_options *)0x0) {\n                    /* try { // try from 003105ee to 0031061d has its CatchHandler @ 00310912 */\n                pcVar20 = gold::Sized_relobj_file<32,_true>::get_symbol_name(pSVar7,uVar37);\n                pcVar27 = (char *)gettext(\n                                         "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                         );\n                gold::gold_error_at_location<32,_true>\n                          (relinfo,(size_t)local_148,local_140,pcVar27,pcVar20,(ulong)uVar37);\n              }\n              else {\n                    /* try { // try from 0030ff70 to 0030ff74 has its CatchHandler @ 00310912 */\n                gold::Symbol::demangled_name((string *)&found,(Symbol *)pGVar21);\n                uVar23 = CONCAT71(uStack_77,found);\n                pcVar20 = (char *)gettext(\n                                         "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                         );\n                    /* try { // try from 0030ffa4 to 0030ffa8 has its CatchHandler @ 0031093c */\n                gold::gold_error_at_location<32,_true>\n                          (relinfo,(size_t)local_148,local_140,pcVar20,uVar23);\n                if ((undefined1 *)CONCAT71(uStack_77,found) != auStack_68) {\n                  operator_delete((undefined1 *)CONCAT71(uStack_77,found));\n                }\n              }" if (parenthesized_expression "(pGVar21 == (General_options *)0x0)" ( (binary_expression "pGVar21 == (General_options *)0x0" identifier == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* try { // try from 003105ee to 0031061d has its CatchHandler @ 00310912 */\n                pcVar20 = gold::Sized_relobj_file<32,_true>::get_symbol_name(pSVar7,uVar37);\n                pcVar27 = (char *)gettext(\n                                         "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                         );\n                gold::gold_error_at_location<32,_true>\n                          (relinfo,(size_t)local_148,local_140,pcVar27,pcVar20,(ulong)uVar37);\n              }" { comment (ERROR "pcVar20 = gold::" (assignment_expression "pcVar20 = gold" identifier = identifier) : :) (expression_statement "Sized_relobj_file<32,_true>::get_symbol_name(pSVar7,uVar37);" (comma_expression "Sized_relobj_file<32,_true>::get_symbol_name(pSVar7,uVar37)" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_true>::get_symbol_name(pSVar7,uVar37)" identifier > (ERROR "::" : :) (call_expression "get_symbol_name(pSVar7,uVar37)" identifier (argument_list "(pSVar7,uVar37)" ( identifier , identifier ))))) ;) (expression_statement "pcVar27 = (char *)gettext(\n                                         "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                         );" (assignment_expression "pcVar27 = (char *)gettext(\n                                         "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                         )" identifier = (cast_expression "(char *)gettext(\n                                         "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                         )" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext(\n                                         "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                         )" identifier (argument_list "(\n                                         "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                         )" ( (string_literal ""relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"" " string_content escape_sequence string_content escape_sequence string_content ") ))))) ;) (labeled_statement "gold::gold_error_at_location<32,_true>\n                          (relinfo,(size_t)local_148,local_140,pcVar27,pcVar20,(ulong)uVar37);" statement_identifier : (ERROR ":" :) (expression_statement "gold_error_at_location<32,_true>\n                          (relinfo,(size_t)local_148,local_140,pcVar27,pcVar20,(ulong)uVar37);" (comma_expression "gold_error_at_location<32,_true>\n                          (relinfo,(size_t)local_148,local_140,pcVar27,pcVar20,(ulong)uVar37)" (binary_expression "gold_error_at_location<32" identifier < number_literal) , (binary_expression "_true>\n                          (relinfo,(size_t)local_148,local_140,pcVar27,pcVar20,(ulong)uVar37)" identifier > (parenthesized_expression "(relinfo,(size_t)local_148,local_140,pcVar27,pcVar20,(ulong)uVar37)" ( (comma_expression "relinfo,(size_t)local_148,local_140,pcVar27,pcVar20,(ulong)uVar37" identifier , (comma_expression "(size_t)local_148,local_140,pcVar27,pcVar20,(ulong)uVar37" (cast_expression "(size_t)local_148" ( (type_descriptor "size_t" primitive_type) ) identifier) , (comma_expression "local_140,pcVar27,pcVar20,(ulong)uVar37" identifier , (comma_expression "pcVar27,pcVar20,(ulong)uVar37" identifier , (comma_expression "pcVar20,(ulong)uVar37" identifier , (cast_expression "(ulong)uVar37" ( (type_descriptor "ulong" type_identifier) ) identifier)))))) )))) ;)) }) (else_clause "else {\n                    /* try { // try from 0030ff70 to 0030ff74 has its CatchHandler @ 00310912 */\n                gold::Symbol::demangled_name((string *)&found,(Symbol *)pGVar21);\n                uVar23 = CONCAT71(uStack_77,found);\n                pcVar20 = (char *)gettext(\n                                         "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                         );\n                    /* try { // try from 0030ffa4 to 0030ffa8 has its CatchHandler @ 0031093c */\n                gold::gold_error_at_location<32,_true>\n                          (relinfo,(size_t)local_148,local_140,pcVar20,uVar23);\n                if ((undefined1 *)CONCAT71(uStack_77,found) != auStack_68) {\n                  operator_delete((undefined1 *)CONCAT71(uStack_77,found));\n                }\n              }" else (compound_statement "{\n                    /* try { // try from 0030ff70 to 0030ff74 has its CatchHandler @ 00310912 */\n                gold::Symbol::demangled_name((string *)&found,(Symbol *)pGVar21);\n                uVar23 = CONCAT71(uStack_77,found);\n                pcVar20 = (char *)gettext(\n                                         "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                         );\n                    /* try { // try from 0030ffa4 to 0030ffa8 has its CatchHandler @ 0031093c */\n                gold::gold_error_at_location<32,_true>\n                          (relinfo,(size_t)local_148,local_140,pcVar20,uVar23);\n                if ((undefined1 *)CONCAT71(uStack_77,found) != auStack_68) {\n                  operator_delete((undefined1 *)CONCAT71(uStack_77,found));\n                }\n              }" { comment (labeled_statement "gold::Symbol::demangled_name((string *)&found,(Symbol *)pGVar21);" statement_identifier : (ERROR ":" :) (labeled_statement "Symbol::demangled_name((string *)&found,(Symbol *)pGVar21);" statement_identifier : (ERROR ":" :) (expression_statement "demangled_name((string *)&found,(Symbol *)pGVar21);" (call_expression "demangled_name((string *)&found,(Symbol *)pGVar21)" identifier (argument_list "((string *)&found,(Symbol *)pGVar21)" ( (cast_expression "(string *)&found" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&found" & identifier)) , (cast_expression "(Symbol *)pGVar21" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;))) (expression_statement "uVar23 = CONCAT71(uStack_77,found);" (assignment_expression "uVar23 = CONCAT71(uStack_77,found)" identifier = (call_expression "CONCAT71(uStack_77,found)" identifier (argument_list "(uStack_77,found)" ( identifier , identifier )))) ;) (expression_statement "pcVar20 = (char *)gettext(\n                                         "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                         );" (assignment_expression "pcVar20 = (char *)gettext(\n                                         "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                         )" identifier = (cast_expression "(char *)gettext(\n                                         "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                         )" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext(\n                                         "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                         )" identifier (argument_list "(\n                                         "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                         )" ( (string_literal ""relocation refers to global symbol \"%s\", which is defined in a discarded section"" " string_content escape_sequence string_content escape_sequence string_content ") ))))) ;) comment (labeled_statement "gold::gold_error_at_location<32,_true>\n                          (relinfo,(size_t)local_148,local_140,pcVar20,uVar23);" statement_identifier : (ERROR ":" :) (expression_statement "gold_error_at_location<32,_true>\n                          (relinfo,(size_t)local_148,local_140,pcVar20,uVar23);" (comma_expression "gold_error_at_location<32,_true>\n                          (relinfo,(size_t)local_148,local_140,pcVar20,uVar23)" (binary_expression "gold_error_at_location<32" identifier < number_literal) , (binary_expression "_true>\n                          (relinfo,(size_t)local_148,local_140,pcVar20,uVar23)" identifier > (parenthesized_expression "(relinfo,(size_t)local_148,local_140,pcVar20,uVar23)" ( (comma_expression "relinfo,(size_t)local_148,local_140,pcVar20,uVar23" identifier , (comma_expression "(size_t)local_148,local_140,pcVar20,uVar23" (cast_expression "(size_t)local_148" ( (type_descriptor "size_t" primitive_type) ) identifier) , (comma_expression "local_140,pcVar20,uVar23" identifier , (comma_expression "pcVar20,uVar23" identifier , identifier)))) )))) ;)) (if_statement "if ((undefined1 *)CONCAT71(uStack_77,found) != auStack_68) {\n                  operator_delete((undefined1 *)CONCAT71(uStack_77,found));\n                }" if (parenthesized_expression "((undefined1 *)CONCAT71(uStack_77,found) != auStack_68)" ( (binary_expression "(undefined1 *)CONCAT71(uStack_77,found) != auStack_68" (cast_expression "(undefined1 *)CONCAT71(uStack_77,found)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT71(uStack_77,found)" identifier (argument_list "(uStack_77,found)" ( identifier , identifier )))) != identifier) )) (compound_statement "{\n                  operator_delete((undefined1 *)CONCAT71(uStack_77,found));\n                }" { (expression_statement "operator_delete((undefined1 *)CONCAT71(uStack_77,found));" (call_expression "operator_delete((undefined1 *)CONCAT71(uStack_77,found))" identifier (argument_list "((undefined1 *)CONCAT71(uStack_77,found))" ( (cast_expression "(undefined1 *)CONCAT71(uStack_77,found)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT71(uStack_77,found)" identifier (argument_list "(uStack_77,found)" ( identifier , identifier )))) ))) ;) })) }))) comment (ERROR "uVar37 = gold::" (assignment_expression "uVar37 = gold" identifier = identifier) : :) (expression_statement "Sized_relobj_file<32,_true>::symbol_section_and_value\n                                 (pSVar7,uVar37,&value,&is_ordinary);" (comma_expression "Sized_relobj_file<32,_true>::symbol_section_and_value\n                                 (pSVar7,uVar37,&value,&is_ordinary)" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_true>::symbol_section_and_value\n                                 (pSVar7,uVar37,&value,&is_ordinary)" identifier > (ERROR "::" : :) (call_expression "symbol_section_and_value\n                                 (pSVar7,uVar37,&value,&is_ordinary)" identifier (argument_list "(pSVar7,uVar37,&value,&is_ordinary)" ( identifier , identifier , (pointer_expression "&value" & identifier) , (pointer_expression "&is_ordinary" & identifier) ))))) ;) (if_statement "if (uVar37 != 0) {\n                    /* try { // try from 00310544 to 0031057d has its CatchHandler @ 00310912 */\n                pRVar25 = gold::Sized_relobj_file<32,_true>::find_kept_section_object\n                                    (pSVar7,uVar37,&key_symndx);\n                if (key_symndx != 0) {\n                    /* try { // try from 00310725 to 00310745 has its CatchHandler @ 00310912 */\n                  pcVar20 = gold::Sized_relobj_file<32,_true>::get_symbol_name(pSVar7,key_symndx);\n                  pcVar27 = (char *)gettext("  section group signature: \"%s\"");\n                  gold::gold_info(pcVar27,pcVar20);\n                }\n                if (pRVar25 != (Relobj *)0x0) {\n                  pcVar11 = (pRVar25->super_Object).name_._M_dataplus._M_p;\n                  pcVar20 = (char *)gettext("  prevailing definition is from %s");\n                  gold::gold_info(pcVar20,pcVar11);\n                }\n              }" if (parenthesized_expression "(uVar37 != 0)" ( (binary_expression "uVar37 != 0" identifier != number_literal) )) (compound_statement "{\n                    /* try { // try from 00310544 to 0031057d has its CatchHandler @ 00310912 */\n                pRVar25 = gold::Sized_relobj_file<32,_true>::find_kept_section_object\n                                    (pSVar7,uVar37,&key_symndx);\n                if (key_symndx != 0) {\n                    /* try { // try from 00310725 to 00310745 has its CatchHandler @ 00310912 */\n                  pcVar20 = gold::Sized_relobj_file<32,_true>::get_symbol_name(pSVar7,key_symndx);\n                  pcVar27 = (char *)gettext("  section group signature: \"%s\"");\n                  gold::gold_info(pcVar27,pcVar20);\n                }\n                if (pRVar25 != (Relobj *)0x0) {\n                  pcVar11 = (pRVar25->super_Object).name_._M_dataplus._M_p;\n                  pcVar20 = (char *)gettext("  prevailing definition is from %s");\n                  gold::gold_info(pcVar20,pcVar11);\n                }\n              }" { comment (ERROR "pRVar25 = gold::" (assignment_expression "pRVar25 = gold" identifier = identifier) : :) (expression_statement "Sized_relobj_file<32,_true>::find_kept_section_object\n                                    (pSVar7,uVar37,&key_symndx);" (comma_expression "Sized_relobj_file<32,_true>::find_kept_section_object\n                                    (pSVar7,uVar37,&key_symndx)" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_true>::find_kept_section_object\n                                    (pSVar7,uVar37,&key_symndx)" identifier > (ERROR "::" : :) (call_expression "find_kept_section_object\n                                    (pSVar7,uVar37,&key_symndx)" identifier (argument_list "(pSVar7,uVar37,&key_symndx)" ( identifier , identifier , (pointer_expression "&key_symndx" & identifier) ))))) ;) (if_statement "if (key_symndx != 0) {\n                    /* try { // try from 00310725 to 00310745 has its CatchHandler @ 00310912 */\n                  pcVar20 = gold::Sized_relobj_file<32,_true>::get_symbol_name(pSVar7,key_symndx);\n                  pcVar27 = (char *)gettext("  section group signature: \"%s\"");\n                  gold::gold_info(pcVar27,pcVar20);\n                }" if (parenthesized_expression "(key_symndx != 0)" ( (binary_expression "key_symndx != 0" identifier != number_literal) )) (compound_statement "{\n                    /* try { // try from 00310725 to 00310745 has its CatchHandler @ 00310912 */\n                  pcVar20 = gold::Sized_relobj_file<32,_true>::get_symbol_name(pSVar7,key_symndx);\n                  pcVar27 = (char *)gettext("  section group signature: \"%s\"");\n                  gold::gold_info(pcVar27,pcVar20);\n                }" { comment (ERROR "pcVar20 = gold::" (assignment_expression "pcVar20 = gold" identifier = identifier) : :) (expression_statement "Sized_relobj_file<32,_true>::get_symbol_name(pSVar7,key_symndx);" (comma_expression "Sized_relobj_file<32,_true>::get_symbol_name(pSVar7,key_symndx)" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_true>::get_symbol_name(pSVar7,key_symndx)" identifier > (ERROR "::" : :) (call_expression "get_symbol_name(pSVar7,key_symndx)" identifier (argument_list "(pSVar7,key_symndx)" ( identifier , identifier ))))) ;) (expression_statement "pcVar27 = (char *)gettext("  section group signature: \"%s\"");" (assignment_expression "pcVar27 = (char *)gettext("  section group signature: \"%s\"")" identifier = (cast_expression "(char *)gettext("  section group signature: \"%s\"")" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext("  section group signature: \"%s\"")" identifier (argument_list "("  section group signature: \"%s\"")" ( (string_literal ""  section group signature: \"%s\""" " string_content escape_sequence string_content escape_sequence ") ))))) ;) (labeled_statement "gold::gold_info(pcVar27,pcVar20);" statement_identifier : (ERROR ":" :) (expression_statement "gold_info(pcVar27,pcVar20);" (call_expression "gold_info(pcVar27,pcVar20)" identifier (argument_list "(pcVar27,pcVar20)" ( identifier , identifier ))) ;)) })) (if_statement "if (pRVar25 != (Relobj *)0x0) {\n                  pcVar11 = (pRVar25->super_Object).name_._M_dataplus._M_p;\n                  pcVar20 = (char *)gettext("  prevailing definition is from %s");\n                  gold::gold_info(pcVar20,pcVar11);\n                }" if (parenthesized_expression "(pRVar25 != (Relobj *)0x0)" ( (binary_expression "pRVar25 != (Relobj *)0x0" identifier != (cast_expression "(Relobj *)0x0" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  pcVar11 = (pRVar25->super_Object).name_._M_dataplus._M_p;\n                  pcVar20 = (char *)gettext("  prevailing definition is from %s");\n                  gold::gold_info(pcVar20,pcVar11);\n                }" { (expression_statement "pcVar11 = (pRVar25->super_Object).name_._M_dataplus._M_p;" (assignment_expression "pcVar11 = (pRVar25->super_Object).name_._M_dataplus._M_p" identifier = (field_expression "(pRVar25->super_Object).name_._M_dataplus._M_p" (field_expression "(pRVar25->super_Object).name_._M_dataplus" (field_expression "(pRVar25->super_Object).name_" (parenthesized_expression "(pRVar25->super_Object)" ( (field_expression "pRVar25->super_Object" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "pcVar20 = (char *)gettext("  prevailing definition is from %s");" (assignment_expression "pcVar20 = (char *)gettext("  prevailing definition is from %s")" identifier = (cast_expression "(char *)gettext("  prevailing definition is from %s")" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext("  prevailing definition is from %s")" identifier (argument_list "("  prevailing definition is from %s")" ( (string_literal ""  prevailing definition is from %s"" " string_content ") ))))) ;) (labeled_statement "gold::gold_info(pcVar20,pcVar11);" statement_identifier : (ERROR ":" :) (expression_statement "gold_info(pcVar20,pcVar11);" (call_expression "gold_info(pcVar20,pcVar11)" identifier (argument_list "(pcVar20,pcVar11)" ( identifier , identifier ))) ;)) })) })) (expression_statement "iVar13 = 3;" (assignment_expression "iVar13 = 3" identifier = number_literal) ;) }) (else_clause "else {\nLAB_00310006:\n              iVar13 = 2;\n            }" else (compound_statement "{\nLAB_00310006:\n              iVar13 = 2;\n            }" { (labeled_statement "LAB_00310006:\n              iVar13 = 2;" statement_identifier : (expression_statement "iVar13 = 2;" (assignment_expression "iVar13 = 2" identifier = number_literal) ;)) }))) (expression_statement "symval2.u_.value = 0;" (assignment_expression "symval2.u_.value = 0" (field_expression "symval2.u_.value" (field_expression "symval2.u_" identifier . field_identifier) . field_identifier) = number_literal) ;) }))) (if_statement "if (symval2.output_symtab_index_ != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310794 to 00310798 has its CatchHandler @ 00310912 */\n            gold::do_gold_unreachable("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }" if (parenthesized_expression "(symval2.output_symtab_index_ != 0)" ( (binary_expression "symval2.output_symtab_index_ != 0" (field_expression "symval2.output_symtab_index_" identifier . field_identifier) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310794 to 00310798 has its CatchHandler @ 00310912 */\n            gold::do_gold_unreachable("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }" { comment comment (labeled_statement "gold::do_gold_unreachable("../../gold/object.h",0x716,"set_no_output_symtab_entry");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/object.h",0x716,"set_no_output_symtab_entry");" (call_expression "do_gold_unreachable("../../gold/object.h",0x716,"set_no_output_symtab_entry")" identifier (argument_list "("../../gold/object.h",0x716,"set_no_output_symtab_entry")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""set_no_output_symtab_entry"" " string_content ") ))) ;)) })) (expression_statement "symval2.output_symtab_index_ = 0xffffffff;" (assignment_expression "symval2.output_symtab_index_ = 0xffffffff" (field_expression "symval2.output_symtab_index_" identifier . field_identifier) = number_literal) ;) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)reloc_name._M_dataplus._M_p != &reloc_name.field_2) {\n            operator_delete(reloc_name._M_dataplus._M_p);\n          }" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)reloc_name._M_dataplus._M_p != &reloc_name.field_2)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n               *)reloc_name._M_dataplus._M_p != &reloc_name.field_2)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_9\n               *)reloc_name._M_dataplus._M_p != &reloc_name.field_2" (binary_expression "allocator<char>_>_9\n               *)reloc_name._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n               *)reloc_name._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "reloc_name._M_dataplus._M_p" (field_expression "reloc_name._M_dataplus" identifier . field_identifier) . field_identifier))) != (pointer_expression "&reloc_name.field_2" & (field_expression "reloc_name.field_2" identifier . field_identifier))) )) )) (compound_statement "{\n            operator_delete(reloc_name._M_dataplus._M_p);\n          }" { (expression_statement "operator_delete(reloc_name._M_dataplus._M_p);" (call_expression "operator_delete(reloc_name._M_dataplus._M_p)" identifier (argument_list "(reloc_name._M_dataplus._M_p)" ( (field_expression "reloc_name._M_dataplus._M_p" (field_expression "reloc_name._M_dataplus" identifier . field_identifier) . field_identifier) ))) ;) })) (expression_statement "pSVar38 = &symval2;" (assignment_expression "pSVar38 = &symval2" identifier = (pointer_expression "&symval2" & identifier)) ;) (if_statement "if (-1 < (long)local_140) goto LAB_0030fae5;" if (parenthesized_expression "(-1 < (long)local_140)" ( (binary_expression "-1 < (long)local_140" number_literal < (cast_expression "(long)local_140" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )) (goto_statement "goto LAB_0030fae5;" goto statement_identifier ;)) (labeled_statement "LAB_0030fe48:\n          pcVar20 = (char *)gettext("reloc has bad offset %zu");" statement_identifier : (expression_statement "pcVar20 = (char *)gettext("reloc has bad offset %zu");" (assignment_expression "pcVar20 = (char *)gettext("reloc has bad offset %zu")" identifier = (cast_expression "(char *)gettext("reloc has bad offset %zu")" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext("reloc has bad offset %zu")" identifier (argument_list "("reloc has bad offset %zu")" ( (string_literal ""reloc has bad offset %zu"" " string_content ") ))))) ;)) (expression_statement "pGVar21 = local_148;" (assignment_expression "pGVar21 = local_148" identifier = identifier) ;) comment (labeled_statement "gold::gold_error_at_location<32,_true>\n                    (relinfo,(size_t)local_148,local_140,pcVar20,local_140);" statement_identifier : (ERROR ":" :) (expression_statement "gold_error_at_location<32,_true>\n                    (relinfo,(size_t)local_148,local_140,pcVar20,local_140);" (comma_expression "gold_error_at_location<32,_true>\n                    (relinfo,(size_t)local_148,local_140,pcVar20,local_140)" (binary_expression "gold_error_at_location<32" identifier < number_literal) , (binary_expression "_true>\n                    (relinfo,(size_t)local_148,local_140,pcVar20,local_140)" identifier > (parenthesized_expression "(relinfo,(size_t)local_148,local_140,pcVar20,local_140)" ( (comma_expression "relinfo,(size_t)local_148,local_140,pcVar20,local_140" identifier , (comma_expression "(size_t)local_148,local_140,pcVar20,local_140" (cast_expression "(size_t)local_148" ( (type_descriptor "size_t" primitive_type) ) identifier) , (comma_expression "local_140,pcVar20,local_140" identifier , (comma_expression "pcVar20,local_140" identifier , identifier)))) )))) ;)) (expression_statement "iVar19 = (int)pGVar21;" (assignment_expression "iVar19 = (int)pGVar21" identifier = (cast_expression "(int)pGVar21" ( (type_descriptor "int" primitive_type) ) identifier)) ;) }) (else_clause "else {\n          if ((reloc_symbol_changes != (Reloc_symbol_changes *)0x0) &&\n             (pGVar21 = (General_options *)\n                        (reloc_symbol_changes->vec_).\n                        super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                        _M_start[(long)local_148], pGVar21 != (General_options *)0x0))\n          goto LAB_0030fa33;\n          if (uVar37 < this_01->local_symbol_count_) {\nLAB_003107a0:\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003107b3 to 003107ff has its CatchHandler @ 0031092a */\n            gold::do_gold_unreachable("../../gold/target-reloc.h",0x17f,"relocate_section");\n          }\n          ppSVar5 = (this_01->symbols_).\n                    super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                    _M_start;\n          uVar28 = (ulong)(uVar37 - this_01->local_symbol_count_);\n          if ((ulong)((long)(this_01->symbols_).\n                            super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n                            _M_impl._M_finish - (long)ppSVar5 >> 3) <= uVar28) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/object.h",0x8ad,"global_symbol");\n          }\n          pGVar21 = (General_options *)ppSVar5[uVar28];\n          if (pGVar21 == (General_options *)0x0) goto LAB_003107a0;\n          if (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring & 0x100000\n              ) == 0) goto LAB_0030fa33;\n                    /* try { // try from 0030fc40 to 0030fcb4 has its CatchHandler @ 0031092a */\n          pGVar21 = (General_options *)\n                    gold::Symbol_table::resolve_forwards(relinfo->symtab,(Symbol *)pGVar21);\n          uVar16 = *(uint *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                    longname.field_2 + 4);\n          uVar30 = uVar16 - 1;\n          if (uVar30 < 0xfffffffe) {\n            if ((symval.output_symtab_index_ != 0) && (symval.output_symtab_index_ != 0xfffffffe)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0031077c to 00310780 has its CatchHandler @ 0031092a */\n              gold::do_gold_unreachable("../../gold/object.h",0x70c,"set_output_symtab_index");\n            }\n            goto LAB_0030fcf0;\n          }\n          if (symval.output_symtab_index_ != 0) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\nLAB_0030fa42:\n          symval.output_symtab_index_ = 0xffffffff;\nLAB_0030fa4a:\n          symval.u_.value =\n               *(Value *)&(pGVar21->help_initializer_).super_Struct_special.option.helparg;\n          bVar29 = *(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                   0xf;\n          if (bVar29 == 6) {\n            symval._8_4_ = symval._8_4_ | 0x20000000;\n          }\n          else if (bVar29 == 10) {\n            symval._8_4_ = symval._8_4_ | 0x40000000;\n          }\n          bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                    helpstring + 3);\n          if ((char)bVar29 < '\0') {\n            pcVar20 = (pGVar21->help_initializer_).super_Struct_special.option.helpstring;\n            if (((ulong)pcVar20 & 0x70000) == 0) {\n              if ((*(uint *)&(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                             field_2 == 0) && ((bVar29 & 0x20) != 0)) {\nLAB_0030fd10:\n                pSVar38 = &symval;\n                uVar30 = 0;\n                goto LAB_0030fd25;\n              }\n            }\n            else if (((ulong)pcVar20 & 0x70000) == 0x40000) goto LAB_0030fd10;\n          }\n          pSVar38 = &symval;\nLAB_0030faa5:\n          symval2._8_4_ = 0x80000000;\n          symval2.output_symtab_index_ = 0;\n          symval2.output_dynsym_index_ = 0xffffffff;\n          symval2.u_.value = 0;\n          if ((long)local_140 < 0) goto LAB_0030fe48;\nLAB_0030fae5:\n          if ((view_size <= local_140) || (view + local_140 == (uchar *)0x0)) goto LAB_0030fe48;\n          uVar37 = local_120[1];\n          if (uVar37 >> 0x18 != 0) {\n            pcVar20 = (char *)gettext("Invalid/unrecognized reloc reloc %d.");\n                    /* try { // try from 0030fb3d to 0030fb59 has its CatchHandler @ 00310922 */\n            gold::gold_error(pcVar20,(ulong)(uVar37 >> 0x18));\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable\n                      ("../../gold/aarch64-reloc-property.h",0xeb,"code_to_array_index");\n          }\n          if (aarch64_reloc_property_table->table_[0] == (AArch64_reloc_property *)0x0) {\n                    /* try { // try from 003104dd to 003104e1 has its CatchHandler @ 00310922 */\n            gold::AArch64_reloc_property_table::reloc_name_in_error_message\n                      (&reloc_name,aarch64_reloc_property_table,0);\n            _Var31 = reloc_name._M_dataplus;\n            pcVar20 = (char *)gettext("cannot relocate %s in object file");\n            uVar37 = *local_120;\n            pGVar32 = local_148;\n                    /* try { // try from 00310510 to 00310514 has its CatchHandler @ 0031091a */\n            gold::gold_error_at_location<32,_true>\n                      (relinfo,(size_t)local_148,\n                       (ulong)(uVar37 >> 0x18 | (uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8 |\n                              uVar37 << 0x18),pcVar20,_Var31._M_p);\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)reloc_name._M_dataplus._M_p != &reloc_name.field_2) {\n              operator_delete(reloc_name._M_dataplus._M_p);\n            }\n          }\n          else {\n            pGVar32 = (General_options *)0x0;\n            pSVar7 = relinfo->object;\n            symval_1._8_4_ = 0x80000000;\n            symval_1.output_symtab_index_ = 0;\n            symval_1.output_dynsym_index_ = 0xffffffff;\n            symval_1.u_.value = 0;\n            if (pGVar21 == (General_options *)0x0) {\n              if ((pSVar38->field_0xb & 0x40) != 0) {\n                uVar37 = ((uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8 | uVar37 << 0x18) >> 8;\n                pGVar32 = (General_options *)(ulong)uVar37;\n                this_00 = pSVar7;\n                    /* try { // try from 00310475 to 003104bc has its CatchHandler @ 00310944 */\n                bVar14 = gold::Sized_relobj_file<32,_true>::local_has_plt_offset(pSVar7,uVar37);\n                if (bVar14) {\n                  pOVar10 = this->plt_;\n                  if (pOVar10 == (Output_data_plt_aarch64<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108c5 to 003108c9 has its CatchHandler @ 00310944 */\n                    plt_section((Target_aarch64<32,_true> *)this_00);\n                  }\n                  if (((pOVar10->super_Output_section_data).super_Output_data.field_0x20 & 1) == 0)\n                  {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108a8 to 003108ac has its CatchHandler @ 00310944 */\n                    gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar22 = (pOVar10->super_Output_section_data).super_Output_data.address_;\n                  uVar30 = pOVar10->count_;\n                  pGVar32 = (General_options *)(ulong)uVar37;\n                  iVar19 = (*(pSVar7->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                             _vptr_Object[0x2a])(pSVar7);\n                  symval_1.u_.value = (int)uVar22 + 0x20 + uVar30 * 0x10 + iVar19;\n                }\n              }\n            }\n            else {\n              uVar37 = aarch64_reloc_property_table->table_[0]->reference_flags_;\n              pGVar32 = (General_options *)(ulong)uVar37;\n                    /* try { // try from 003100df to 00310101 has its CatchHandler @ 00310944 */\n              bVar14 = gold::Symbol::use_plt_offset((Symbol *)pGVar21,uVar37);\n              if (bVar14) {\n                if (this->plt_ == (Output_data_plt_aarch64<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310800 to 00310804 has its CatchHandler @ 00310944 */\n                  plt_section((Target_aarch64<32,_true> *)0x0);\n                }\n                pGVar32 = pGVar21;\n                uVar22 = Output_data_plt_aarch64<32,_true>::address_for_global\n                                   (this->plt_,(Symbol *)pGVar21);\n                symval_1.u_.value = (Value)uVar22;\n              }\n            }\n            gold::Symbol_value<32>::~Symbol_value(&symval_1,(int)pGVar32);\n          }\n          iVar19 = (int)pGVar32;\n          if (pGVar21 != (General_options *)0x0) {\n            bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                      helpstring + 2);\n            bVar15 = bVar29 & 7;\n            if ((bVar29 & 7) == 0) {\n              if ((*(int *)&(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                            field_2 != 0) ||\n                 (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                  0x20000000) == 0)) {\n                pcVar8 = *(code **)(*(long *)(pGVar21->help_initializer_).super_Struct_special.\n                                             option.longname._M_string_length + 0x28);\n                if (pcVar8 != gold::Object::do_pluginobj) {\n                  lVar24 = (*pcVar8)();\n                  iVar19 = (int)pGVar32;\n                  if (lVar24 != 0) {\n                    bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 2);\n                    bVar15 = bVar29 & 7;\n                    if ((bVar29 & 7) == 0) {\n                      uVar37 = *(uint *)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                         longname.field_2;\n                      pGVar32 = (General_options *)(ulong)uVar37;\n                      bVar1 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                               option.helpstring + 3);\n                      if ((uVar37 == 0) && ((bVar1 & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)bVar1 < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar15 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 3)) goto LAB_00310305;\n                    bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 1);\n                    if ((bVar15 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }\nLAB_0031015a:\n                bVar1 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                         helpstring + 1);\n                bVar29 = bVar29 & 7;\n                bVar15 = bVar1 & 3;\n                if ((bVar1 & 3) == 0) goto LAB_003101c0;\nLAB_00310166:\n                if (((*(int *)&(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                               field_2 == 0) &&\n                    (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                     0x20000000) != 0)) &&\n                   ((*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring\n                     >> 4 != 2 &&\n                    (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                     0x200000000) == 0)))) {\nLAB_00310293:\n                  if (gold::parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108dd to 003108e1 has its CatchHandler @ 00310922 */\n                    gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if ((gold::parameters->options_->weak_unresolved_symbols_).value != false) {\n                    if (bVar29 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)((pGVar21->help_initializer_).super_Struct_special.option.longname.\n                                 _M_string_length + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }\n                if (bVar15 == 2) {\n                  uVar23 = gettext("hidden");\n                }\n                else if (bVar15 < 3) {\n                  if (bVar15 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    gold::do_gold_unreachable("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar23 = gettext("internal");\n                }\n                else {\n                  uVar23 = gettext("protected");\n                }\n                pp_Var2 = (pGVar21->help_initializer_).super_Struct_special.super_Struct_var.\n                          _vptr_Struct_var;\n                pcVar20 = (char *)gettext("%s symbol \'%s\' is not defined locally");\n                    /* try { // try from 003101b4 to 0031042c has its CatchHandler @ 00310922 */\n                gold::gold_error(pcVar20,uVar23,pp_Var2);\n                iVar19 = (int)uVar23;\n                goto LAB_003101c0;\n              }\nLAB_0031020c:\n              if ((*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring >>\n                   4 == 2) ||\n                 (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                  0x200000000) != 0)) {\nLAB_00310438:\n                iVar19 = (int)pGVar32;\n                bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 1) & 3;\nLAB_0031043f:\n                if (bVar15 == 0) goto LAB_003101c0;\n                bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 2) & 7;\n                if (bVar29 != 0) goto LAB_00310270;\n                goto LAB_00310166;\n              }\n              pGVar32 = gold::parameters->options_;\n              if (pGVar32 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310878 to 0031087c has its CatchHandler @ 00310922 */\n                gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((pGVar32->weak_unresolved_symbols_).value != false) goto LAB_00310438;\n              if (*(char *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                   helpstring + 3) < '\0') {\n                if (bVar15 != 0) goto LAB_00310260;\nLAB_003105b8:\n                iVar19 = (int)pGVar32;\n                pcVar8 = *(code **)(*(long *)(pGVar21->help_initializer_).super_Struct_special.\n                                             option.longname._M_string_length + 0x28);\n                if (pcVar8 == gold::Object::do_pluginobj) goto LAB_0031015a;\n                    /* try { // try from 003105cc to 003105cd has its CatchHandler @ 00310922 */\n                lVar24 = (*pcVar8)();\n                if (lVar24 == 0) goto LAB_00310438;\n              }\nLAB_00310305:\n              iVar19 = (int)pGVar32;\n              if (gold::parameters->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310818 to 0031084c has its CatchHandler @ 00310922 */\n                gold::do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n              }\n              p_Var3 = gold::parameters->target_->_vptr_Target[7];\n              if (p_Var3 != gold::Target::do_is_defined_by_abi) {\n                pGVar32 = pGVar21;\n                iVar18 = (*p_Var3)();\n                iVar19 = (int)pGVar32;\n                if ((char)iVar18 != '\0') goto LAB_00310438;\n              }\n              pGVar9 = gold::parameters->options_;\n              if (pGVar9 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              pGVar34 = (General_options *)(pGVar9->unresolved_symbols_).value;\n              bVar14 = false;\n              bVar40 = pGVar34 == (General_options *)0x0;\n              if (bVar40) {\n                bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 1) & 3;\nLAB_003103c9:\n                if ((bVar15 == 2) ||\n                   (((pGVar9->shared_).value == false || ((pGVar9->defs_).value != false))))\n                goto LAB_003103e1;\n                goto LAB_0031043f;\n              }\n              lVar24 = 0xb;\n              pGVar33 = pGVar34;\n              pbVar36 = (byte *)"ignore-all";\n              do {\n                pGVar32 = pGVar33;\n                if (lVar24 == 0) break;\n                lVar24 = lVar24 + -1;\n                pGVar32 = (General_options *)((long)pGVar33 + (ulong)bVar41 * -2 + 1);\n                bVar29 = *(byte *)&(pGVar33->help_initializer_).super_Struct_special.\n                                   super_Struct_var._vptr_Struct_var;\n                bVar14 = bVar29 < *pbVar36;\n                bVar40 = bVar29 == *pbVar36;\n                pGVar33 = pGVar32;\n                pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n              } while (bVar40);\n              bVar39 = false;\n              bVar14 = (!bVar14 && !bVar40) == bVar14;\n              if (bVar14) goto LAB_00310438;\n              lVar24 = 0xb;\n              pGVar32 = pGVar34;\n              pbVar36 = (byte *)"report-all";\n              do {\n                if (lVar24 == 0) break;\n                lVar24 = lVar24 + -1;\n                bVar29 = *(byte *)&(pGVar32->help_initializer_).super_Struct_special.\n                                   super_Struct_var._vptr_Struct_var;\n                bVar39 = bVar29 < *pbVar36;\n                bVar14 = bVar29 == *pbVar36;\n                pGVar32 = (General_options *)((long)pGVar32 + (ulong)bVar41 * -2 + 1);\n                pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n              } while (bVar14);\n              bVar40 = false;\n              bVar14 = (!bVar39 && !bVar14) == bVar39;\n              if (!bVar14) {\n                lVar24 = 0x17;\n                pGVar32 = pGVar34;\n                pbVar36 = (byte *)"ignore-in-object-files";\n                do {\n                  pGVar33 = pGVar32;\n                  if (lVar24 == 0) break;\n                  lVar24 = lVar24 + -1;\n                  pGVar33 = (General_options *)((long)pGVar32 + (ulong)bVar41 * -2 + 1);\n                  bVar29 = *(byte *)&(pGVar32->help_initializer_).super_Struct_special.\n                                     super_Struct_var._vptr_Struct_var;\n                  bVar40 = bVar29 < *pbVar36;\n                  bVar14 = bVar29 == *pbVar36;\n                  pGVar32 = pGVar33;\n                  pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                } while (bVar14);\n                iVar19 = (int)pGVar33;\n                bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 1) & 3;\n                bVar14 = (!bVar40 && !bVar14) == bVar40;\n                if ((!bVar14) ||\n                   (bVar14 = ((ulong)(pGVar21->help_initializer_).super_Struct_special.option.\n                                     helpstring & 0x1000000) == 0, !bVar14)) {\n                  bVar40 = false;\n                  lVar24 = 0x16;\n                  pbVar36 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    pGVar32 = pGVar34;\n                    if (lVar24 == 0) break;\n                    lVar24 = lVar24 + -1;\n                    pGVar32 = (General_options *)((long)pGVar34 + (ulong)bVar41 * -2 + 1);\n                    bVar29 = *(byte *)&(pGVar34->help_initializer_).super_Struct_special.\n                                       super_Struct_var._vptr_Struct_var;\n                    bVar40 = bVar29 < *pbVar36;\n                    bVar14 = bVar29 == *pbVar36;\n                    pGVar34 = pGVar32;\n                    pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                  } while (bVar14);\n                  iVar19 = (int)pGVar32;\n                  if (((!bVar40 && !bVar14) != bVar40) ||\n                     (*(char *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                       helpstring + 2) < '\0')) goto LAB_003103c9;\n                }\n                goto LAB_0031043f;\n              }\nLAB_003103e1:\n              pRVar35 = relinfo;\n              gold::gold_undefined_symbol_at_location<32,_true>\n                        ((Symbol *)pGVar21,relinfo,(size_t)local_148,local_140);\n              iVar19 = (int)pRVar35;\n              bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                        helpstring + 3);\n            }\n            else {\n              if (bVar15 == 4) goto LAB_0031020c;\nLAB_00310260:\n              iVar19 = (int)pGVar32;\n              bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                        helpstring + 1);\n              if ((bVar15 & 3) != 0) {\nLAB_0031026d:\n                bVar15 = bVar15 & 3;\n                bVar29 = bVar29 & 7;\nLAB_00310270:\n                if (((bVar29 == 4) &&\n                    (*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring\n                     >> 4 != 2)) &&\n                   (bVar29 = 4,\n                   ((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                   0x200000000) == 0)) goto LAB_00310293;\n              }\nLAB_003101c0:\n              bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                        helpstring + 3);\n            }\n            if ((bVar29 & 4) != 0) {\n              gold::Warnings::issue_warning<32,_true>\n                        (&relinfo->symtab->warnings_,(Symbol *)pGVar21,relinfo,(size_t)local_148,\n                         local_140);\n              iVar19 = (int)pGVar21;\n            }\n          }\n        }" else (compound_statement "{\n          if ((reloc_symbol_changes != (Reloc_symbol_changes *)0x0) &&\n             (pGVar21 = (General_options *)\n                        (reloc_symbol_changes->vec_).\n                        super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                        _M_start[(long)local_148], pGVar21 != (General_options *)0x0))\n          goto LAB_0030fa33;\n          if (uVar37 < this_01->local_symbol_count_) {\nLAB_003107a0:\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003107b3 to 003107ff has its CatchHandler @ 0031092a */\n            gold::do_gold_unreachable("../../gold/target-reloc.h",0x17f,"relocate_section");\n          }\n          ppSVar5 = (this_01->symbols_).\n                    super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                    _M_start;\n          uVar28 = (ulong)(uVar37 - this_01->local_symbol_count_);\n          if ((ulong)((long)(this_01->symbols_).\n                            super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n                            _M_impl._M_finish - (long)ppSVar5 >> 3) <= uVar28) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/object.h",0x8ad,"global_symbol");\n          }\n          pGVar21 = (General_options *)ppSVar5[uVar28];\n          if (pGVar21 == (General_options *)0x0) goto LAB_003107a0;\n          if (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring & 0x100000\n              ) == 0) goto LAB_0030fa33;\n                    /* try { // try from 0030fc40 to 0030fcb4 has its CatchHandler @ 0031092a */\n          pGVar21 = (General_options *)\n                    gold::Symbol_table::resolve_forwards(relinfo->symtab,(Symbol *)pGVar21);\n          uVar16 = *(uint *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                    longname.field_2 + 4);\n          uVar30 = uVar16 - 1;\n          if (uVar30 < 0xfffffffe) {\n            if ((symval.output_symtab_index_ != 0) && (symval.output_symtab_index_ != 0xfffffffe)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0031077c to 00310780 has its CatchHandler @ 0031092a */\n              gold::do_gold_unreachable("../../gold/object.h",0x70c,"set_output_symtab_index");\n            }\n            goto LAB_0030fcf0;\n          }\n          if (symval.output_symtab_index_ != 0) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\nLAB_0030fa42:\n          symval.output_symtab_index_ = 0xffffffff;\nLAB_0030fa4a:\n          symval.u_.value =\n               *(Value *)&(pGVar21->help_initializer_).super_Struct_special.option.helparg;\n          bVar29 = *(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                   0xf;\n          if (bVar29 == 6) {\n            symval._8_4_ = symval._8_4_ | 0x20000000;\n          }\n          else if (bVar29 == 10) {\n            symval._8_4_ = symval._8_4_ | 0x40000000;\n          }\n          bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                    helpstring + 3);\n          if ((char)bVar29 < '\0') {\n            pcVar20 = (pGVar21->help_initializer_).super_Struct_special.option.helpstring;\n            if (((ulong)pcVar20 & 0x70000) == 0) {\n              if ((*(uint *)&(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                             field_2 == 0) && ((bVar29 & 0x20) != 0)) {\nLAB_0030fd10:\n                pSVar38 = &symval;\n                uVar30 = 0;\n                goto LAB_0030fd25;\n              }\n            }\n            else if (((ulong)pcVar20 & 0x70000) == 0x40000) goto LAB_0030fd10;\n          }\n          pSVar38 = &symval;\nLAB_0030faa5:\n          symval2._8_4_ = 0x80000000;\n          symval2.output_symtab_index_ = 0;\n          symval2.output_dynsym_index_ = 0xffffffff;\n          symval2.u_.value = 0;\n          if ((long)local_140 < 0) goto LAB_0030fe48;\nLAB_0030fae5:\n          if ((view_size <= local_140) || (view + local_140 == (uchar *)0x0)) goto LAB_0030fe48;\n          uVar37 = local_120[1];\n          if (uVar37 >> 0x18 != 0) {\n            pcVar20 = (char *)gettext("Invalid/unrecognized reloc reloc %d.");\n                    /* try { // try from 0030fb3d to 0030fb59 has its CatchHandler @ 00310922 */\n            gold::gold_error(pcVar20,(ulong)(uVar37 >> 0x18));\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable\n                      ("../../gold/aarch64-reloc-property.h",0xeb,"code_to_array_index");\n          }\n          if (aarch64_reloc_property_table->table_[0] == (AArch64_reloc_property *)0x0) {\n                    /* try { // try from 003104dd to 003104e1 has its CatchHandler @ 00310922 */\n            gold::AArch64_reloc_property_table::reloc_name_in_error_message\n                      (&reloc_name,aarch64_reloc_property_table,0);\n            _Var31 = reloc_name._M_dataplus;\n            pcVar20 = (char *)gettext("cannot relocate %s in object file");\n            uVar37 = *local_120;\n            pGVar32 = local_148;\n                    /* try { // try from 00310510 to 00310514 has its CatchHandler @ 0031091a */\n            gold::gold_error_at_location<32,_true>\n                      (relinfo,(size_t)local_148,\n                       (ulong)(uVar37 >> 0x18 | (uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8 |\n                              uVar37 << 0x18),pcVar20,_Var31._M_p);\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)reloc_name._M_dataplus._M_p != &reloc_name.field_2) {\n              operator_delete(reloc_name._M_dataplus._M_p);\n            }\n          }\n          else {\n            pGVar32 = (General_options *)0x0;\n            pSVar7 = relinfo->object;\n            symval_1._8_4_ = 0x80000000;\n            symval_1.output_symtab_index_ = 0;\n            symval_1.output_dynsym_index_ = 0xffffffff;\n            symval_1.u_.value = 0;\n            if (pGVar21 == (General_options *)0x0) {\n              if ((pSVar38->field_0xb & 0x40) != 0) {\n                uVar37 = ((uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8 | uVar37 << 0x18) >> 8;\n                pGVar32 = (General_options *)(ulong)uVar37;\n                this_00 = pSVar7;\n                    /* try { // try from 00310475 to 003104bc has its CatchHandler @ 00310944 */\n                bVar14 = gold::Sized_relobj_file<32,_true>::local_has_plt_offset(pSVar7,uVar37);\n                if (bVar14) {\n                  pOVar10 = this->plt_;\n                  if (pOVar10 == (Output_data_plt_aarch64<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108c5 to 003108c9 has its CatchHandler @ 00310944 */\n                    plt_section((Target_aarch64<32,_true> *)this_00);\n                  }\n                  if (((pOVar10->super_Output_section_data).super_Output_data.field_0x20 & 1) == 0)\n                  {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108a8 to 003108ac has its CatchHandler @ 00310944 */\n                    gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar22 = (pOVar10->super_Output_section_data).super_Output_data.address_;\n                  uVar30 = pOVar10->count_;\n                  pGVar32 = (General_options *)(ulong)uVar37;\n                  iVar19 = (*(pSVar7->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                             _vptr_Object[0x2a])(pSVar7);\n                  symval_1.u_.value = (int)uVar22 + 0x20 + uVar30 * 0x10 + iVar19;\n                }\n              }\n            }\n            else {\n              uVar37 = aarch64_reloc_property_table->table_[0]->reference_flags_;\n              pGVar32 = (General_options *)(ulong)uVar37;\n                    /* try { // try from 003100df to 00310101 has its CatchHandler @ 00310944 */\n              bVar14 = gold::Symbol::use_plt_offset((Symbol *)pGVar21,uVar37);\n              if (bVar14) {\n                if (this->plt_ == (Output_data_plt_aarch64<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310800 to 00310804 has its CatchHandler @ 00310944 */\n                  plt_section((Target_aarch64<32,_true> *)0x0);\n                }\n                pGVar32 = pGVar21;\n                uVar22 = Output_data_plt_aarch64<32,_true>::address_for_global\n                                   (this->plt_,(Symbol *)pGVar21);\n                symval_1.u_.value = (Value)uVar22;\n              }\n            }\n            gold::Symbol_value<32>::~Symbol_value(&symval_1,(int)pGVar32);\n          }\n          iVar19 = (int)pGVar32;\n          if (pGVar21 != (General_options *)0x0) {\n            bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                      helpstring + 2);\n            bVar15 = bVar29 & 7;\n            if ((bVar29 & 7) == 0) {\n              if ((*(int *)&(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                            field_2 != 0) ||\n                 (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                  0x20000000) == 0)) {\n                pcVar8 = *(code **)(*(long *)(pGVar21->help_initializer_).super_Struct_special.\n                                             option.longname._M_string_length + 0x28);\n                if (pcVar8 != gold::Object::do_pluginobj) {\n                  lVar24 = (*pcVar8)();\n                  iVar19 = (int)pGVar32;\n                  if (lVar24 != 0) {\n                    bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 2);\n                    bVar15 = bVar29 & 7;\n                    if ((bVar29 & 7) == 0) {\n                      uVar37 = *(uint *)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                         longname.field_2;\n                      pGVar32 = (General_options *)(ulong)uVar37;\n                      bVar1 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                               option.helpstring + 3);\n                      if ((uVar37 == 0) && ((bVar1 & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)bVar1 < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar15 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 3)) goto LAB_00310305;\n                    bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 1);\n                    if ((bVar15 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }\nLAB_0031015a:\n                bVar1 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                         helpstring + 1);\n                bVar29 = bVar29 & 7;\n                bVar15 = bVar1 & 3;\n                if ((bVar1 & 3) == 0) goto LAB_003101c0;\nLAB_00310166:\n                if (((*(int *)&(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                               field_2 == 0) &&\n                    (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                     0x20000000) != 0)) &&\n                   ((*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring\n                     >> 4 != 2 &&\n                    (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                     0x200000000) == 0)))) {\nLAB_00310293:\n                  if (gold::parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108dd to 003108e1 has its CatchHandler @ 00310922 */\n                    gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if ((gold::parameters->options_->weak_unresolved_symbols_).value != false) {\n                    if (bVar29 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)((pGVar21->help_initializer_).super_Struct_special.option.longname.\n                                 _M_string_length + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }\n                if (bVar15 == 2) {\n                  uVar23 = gettext("hidden");\n                }\n                else if (bVar15 < 3) {\n                  if (bVar15 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    gold::do_gold_unreachable("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar23 = gettext("internal");\n                }\n                else {\n                  uVar23 = gettext("protected");\n                }\n                pp_Var2 = (pGVar21->help_initializer_).super_Struct_special.super_Struct_var.\n                          _vptr_Struct_var;\n                pcVar20 = (char *)gettext("%s symbol \'%s\' is not defined locally");\n                    /* try { // try from 003101b4 to 0031042c has its CatchHandler @ 00310922 */\n                gold::gold_error(pcVar20,uVar23,pp_Var2);\n                iVar19 = (int)uVar23;\n                goto LAB_003101c0;\n              }\nLAB_0031020c:\n              if ((*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring >>\n                   4 == 2) ||\n                 (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                  0x200000000) != 0)) {\nLAB_00310438:\n                iVar19 = (int)pGVar32;\n                bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 1) & 3;\nLAB_0031043f:\n                if (bVar15 == 0) goto LAB_003101c0;\n                bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 2) & 7;\n                if (bVar29 != 0) goto LAB_00310270;\n                goto LAB_00310166;\n              }\n              pGVar32 = gold::parameters->options_;\n              if (pGVar32 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310878 to 0031087c has its CatchHandler @ 00310922 */\n                gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((pGVar32->weak_unresolved_symbols_).value != false) goto LAB_00310438;\n              if (*(char *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                   helpstring + 3) < '\0') {\n                if (bVar15 != 0) goto LAB_00310260;\nLAB_003105b8:\n                iVar19 = (int)pGVar32;\n                pcVar8 = *(code **)(*(long *)(pGVar21->help_initializer_).super_Struct_special.\n                                             option.longname._M_string_length + 0x28);\n                if (pcVar8 == gold::Object::do_pluginobj) goto LAB_0031015a;\n                    /* try { // try from 003105cc to 003105cd has its CatchHandler @ 00310922 */\n                lVar24 = (*pcVar8)();\n                if (lVar24 == 0) goto LAB_00310438;\n              }\nLAB_00310305:\n              iVar19 = (int)pGVar32;\n              if (gold::parameters->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310818 to 0031084c has its CatchHandler @ 00310922 */\n                gold::do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n              }\n              p_Var3 = gold::parameters->target_->_vptr_Target[7];\n              if (p_Var3 != gold::Target::do_is_defined_by_abi) {\n                pGVar32 = pGVar21;\n                iVar18 = (*p_Var3)();\n                iVar19 = (int)pGVar32;\n                if ((char)iVar18 != '\0') goto LAB_00310438;\n              }\n              pGVar9 = gold::parameters->options_;\n              if (pGVar9 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              pGVar34 = (General_options *)(pGVar9->unresolved_symbols_).value;\n              bVar14 = false;\n              bVar40 = pGVar34 == (General_options *)0x0;\n              if (bVar40) {\n                bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 1) & 3;\nLAB_003103c9:\n                if ((bVar15 == 2) ||\n                   (((pGVar9->shared_).value == false || ((pGVar9->defs_).value != false))))\n                goto LAB_003103e1;\n                goto LAB_0031043f;\n              }\n              lVar24 = 0xb;\n              pGVar33 = pGVar34;\n              pbVar36 = (byte *)"ignore-all";\n              do {\n                pGVar32 = pGVar33;\n                if (lVar24 == 0) break;\n                lVar24 = lVar24 + -1;\n                pGVar32 = (General_options *)((long)pGVar33 + (ulong)bVar41 * -2 + 1);\n                bVar29 = *(byte *)&(pGVar33->help_initializer_).super_Struct_special.\n                                   super_Struct_var._vptr_Struct_var;\n                bVar14 = bVar29 < *pbVar36;\n                bVar40 = bVar29 == *pbVar36;\n                pGVar33 = pGVar32;\n                pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n              } while (bVar40);\n              bVar39 = false;\n              bVar14 = (!bVar14 && !bVar40) == bVar14;\n              if (bVar14) goto LAB_00310438;\n              lVar24 = 0xb;\n              pGVar32 = pGVar34;\n              pbVar36 = (byte *)"report-all";\n              do {\n                if (lVar24 == 0) break;\n                lVar24 = lVar24 + -1;\n                bVar29 = *(byte *)&(pGVar32->help_initializer_).super_Struct_special.\n                                   super_Struct_var._vptr_Struct_var;\n                bVar39 = bVar29 < *pbVar36;\n                bVar14 = bVar29 == *pbVar36;\n                pGVar32 = (General_options *)((long)pGVar32 + (ulong)bVar41 * -2 + 1);\n                pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n              } while (bVar14);\n              bVar40 = false;\n              bVar14 = (!bVar39 && !bVar14) == bVar39;\n              if (!bVar14) {\n                lVar24 = 0x17;\n                pGVar32 = pGVar34;\n                pbVar36 = (byte *)"ignore-in-object-files";\n                do {\n                  pGVar33 = pGVar32;\n                  if (lVar24 == 0) break;\n                  lVar24 = lVar24 + -1;\n                  pGVar33 = (General_options *)((long)pGVar32 + (ulong)bVar41 * -2 + 1);\n                  bVar29 = *(byte *)&(pGVar32->help_initializer_).super_Struct_special.\n                                     super_Struct_var._vptr_Struct_var;\n                  bVar40 = bVar29 < *pbVar36;\n                  bVar14 = bVar29 == *pbVar36;\n                  pGVar32 = pGVar33;\n                  pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                } while (bVar14);\n                iVar19 = (int)pGVar33;\n                bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 1) & 3;\n                bVar14 = (!bVar40 && !bVar14) == bVar40;\n                if ((!bVar14) ||\n                   (bVar14 = ((ulong)(pGVar21->help_initializer_).super_Struct_special.option.\n                                     helpstring & 0x1000000) == 0, !bVar14)) {\n                  bVar40 = false;\n                  lVar24 = 0x16;\n                  pbVar36 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    pGVar32 = pGVar34;\n                    if (lVar24 == 0) break;\n                    lVar24 = lVar24 + -1;\n                    pGVar32 = (General_options *)((long)pGVar34 + (ulong)bVar41 * -2 + 1);\n                    bVar29 = *(byte *)&(pGVar34->help_initializer_).super_Struct_special.\n                                       super_Struct_var._vptr_Struct_var;\n                    bVar40 = bVar29 < *pbVar36;\n                    bVar14 = bVar29 == *pbVar36;\n                    pGVar34 = pGVar32;\n                    pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                  } while (bVar14);\n                  iVar19 = (int)pGVar32;\n                  if (((!bVar40 && !bVar14) != bVar40) ||\n                     (*(char *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                       helpstring + 2) < '\0')) goto LAB_003103c9;\n                }\n                goto LAB_0031043f;\n              }\nLAB_003103e1:\n              pRVar35 = relinfo;\n              gold::gold_undefined_symbol_at_location<32,_true>\n                        ((Symbol *)pGVar21,relinfo,(size_t)local_148,local_140);\n              iVar19 = (int)pRVar35;\n              bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                        helpstring + 3);\n            }\n            else {\n              if (bVar15 == 4) goto LAB_0031020c;\nLAB_00310260:\n              iVar19 = (int)pGVar32;\n              bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                        helpstring + 1);\n              if ((bVar15 & 3) != 0) {\nLAB_0031026d:\n                bVar15 = bVar15 & 3;\n                bVar29 = bVar29 & 7;\nLAB_00310270:\n                if (((bVar29 == 4) &&\n                    (*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring\n                     >> 4 != 2)) &&\n                   (bVar29 = 4,\n                   ((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                   0x200000000) == 0)) goto LAB_00310293;\n              }\nLAB_003101c0:\n              bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                        helpstring + 3);\n            }\n            if ((bVar29 & 4) != 0) {\n              gold::Warnings::issue_warning<32,_true>\n                        (&relinfo->symtab->warnings_,(Symbol *)pGVar21,relinfo,(size_t)local_148,\n                         local_140);\n              iVar19 = (int)pGVar21;\n            }\n          }\n        }" { (if_statement "if ((reloc_symbol_changes != (Reloc_symbol_changes *)0x0) &&\n             (pGVar21 = (General_options *)\n                        (reloc_symbol_changes->vec_).\n                        super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                        _M_start[(long)local_148], pGVar21 != (General_options *)0x0))\n          goto LAB_0030fa33;" if (parenthesized_expression "((reloc_symbol_changes != (Reloc_symbol_changes *)0x0) &&\n             (pGVar21 = (General_options *)\n                        (reloc_symbol_changes->vec_).\n                        super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                        _M_start[(long)local_148], pGVar21 != (General_options *)0x0))" ( (binary_expression "(reloc_symbol_changes != (Reloc_symbol_changes *)0x0) &&\n             (pGVar21 = (General_options *)\n                        (reloc_symbol_changes->vec_).\n                        super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                        _M_start[(long)local_148], pGVar21 != (General_options *)0x0)" (parenthesized_expression "(reloc_symbol_changes != (Reloc_symbol_changes *)0x0)" ( (binary_expression "reloc_symbol_changes != (Reloc_symbol_changes *)0x0" identifier != (cast_expression "(Reloc_symbol_changes *)0x0" ( (type_descriptor "Reloc_symbol_changes *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(pGVar21 = (General_options *)\n                        (reloc_symbol_changes->vec_).\n                        super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                        _M_start[(long)local_148], pGVar21 != (General_options *)0x0)" ( (comma_expression "pGVar21 = (General_options *)\n                        (reloc_symbol_changes->vec_).\n                        super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                        _M_start[(long)local_148], pGVar21 != (General_options *)0x0" (subscript_expression "pGVar21 = (General_options *)\n                        (reloc_symbol_changes->vec_).\n                        super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                        _M_start[(long)local_148]" (field_expression "pGVar21 = (General_options *)\n                        (reloc_symbol_changes->vec_).\n                        super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                        _M_start" (field_expression "pGVar21 = (General_options *)\n                        (reloc_symbol_changes->vec_).\n                        super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl" (binary_expression "pGVar21 = (General_options *)\n                        (reloc_symbol_changes->vec_).\n                        super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "pGVar21 = (General_options *)\n                        (reloc_symbol_changes->vec_).\n                        super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "pGVar21 = (General_options *)\n                        (reloc_symbol_changes->vec_).\n                        super__Vector_base<gold::Symbol*,_std" (assignment_expression "pGVar21 = (General_options *)\n                        (reloc_symbol_changes->vec_).\n                        super__Vector_base<gold" identifier = (binary_expression "(General_options *)\n                        (reloc_symbol_changes->vec_).\n                        super__Vector_base<gold" (cast_expression "(General_options *)\n                        (reloc_symbol_changes->vec_).\n                        super__Vector_base" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(reloc_symbol_changes->vec_).\n                        super__Vector_base" (parenthesized_expression "(reloc_symbol_changes->vec_)" ( (field_expression "reloc_symbol_changes->vec_" identifier -> field_identifier) )) . field_identifier)) < identifier)) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) [ (cast_expression "(long)local_148" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) ]) , (binary_expression "pGVar21 != (General_options *)0x0" identifier != (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (goto_statement "goto LAB_0030fa33;" goto statement_identifier ;)) (if_statement "if (uVar37 < this_01->local_symbol_count_) {\nLAB_003107a0:\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003107b3 to 003107ff has its CatchHandler @ 0031092a */\n            gold::do_gold_unreachable("../../gold/target-reloc.h",0x17f,"relocate_section");\n          }" if (parenthesized_expression "(uVar37 < this_01->local_symbol_count_)" ( (binary_expression "uVar37 < this_01->local_symbol_count_" identifier < (field_expression "this_01->local_symbol_count_" identifier -> field_identifier)) )) (compound_statement "{\nLAB_003107a0:\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003107b3 to 003107ff has its CatchHandler @ 0031092a */\n            gold::do_gold_unreachable("../../gold/target-reloc.h",0x17f,"relocate_section");\n          }" { (labeled_statement "LAB_003107a0:\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003107b3 to 003107ff has its CatchHandler @ 0031092a */\n            gold::do_gold_unreachable("../../gold/target-reloc.h",0x17f,"relocate_section");" statement_identifier : comment comment (labeled_statement "gold::do_gold_unreachable("../../gold/target-reloc.h",0x17f,"relocate_section");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/target-reloc.h",0x17f,"relocate_section");" (call_expression "do_gold_unreachable("../../gold/target-reloc.h",0x17f,"relocate_section")" identifier (argument_list "("../../gold/target-reloc.h",0x17f,"relocate_section")" ( (string_literal ""../../gold/target-reloc.h"" " string_content ") , number_literal , (string_literal ""relocate_section"" " string_content ") ))) ;))) })) (expression_statement "ppSVar5 = (this_01->symbols_).\n                    super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                    _M_start;" (field_expression "ppSVar5 = (this_01->symbols_).\n                    super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                    _M_start" (field_expression "ppSVar5 = (this_01->symbols_).\n                    super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl" (binary_expression "ppSVar5 = (this_01->symbols_).\n                    super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "ppSVar5 = (this_01->symbols_).\n                    super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "ppSVar5 = (this_01->symbols_).\n                    super__Vector_base<gold::Symbol*,_std" (assignment_expression "ppSVar5 = (this_01->symbols_).\n                    super__Vector_base<gold" identifier = (binary_expression "(this_01->symbols_).\n                    super__Vector_base<gold" (field_expression "(this_01->symbols_).\n                    super__Vector_base" (parenthesized_expression "(this_01->symbols_)" ( (field_expression "this_01->symbols_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (expression_statement "uVar28 = (ulong)(uVar37 - this_01->local_symbol_count_);" (assignment_expression "uVar28 = (ulong)(uVar37 - this_01->local_symbol_count_)" identifier = (call_expression "(ulong)(uVar37 - this_01->local_symbol_count_)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar37 - this_01->local_symbol_count_)" ( (binary_expression "uVar37 - this_01->local_symbol_count_" identifier - (field_expression "this_01->local_symbol_count_" identifier -> field_identifier)) )))) ;) (if_statement "if ((ulong)((long)(this_01->symbols_).\n                            super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n                            _M_impl._M_finish - (long)ppSVar5 >> 3) <= uVar28) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/object.h",0x8ad,"global_symbol");\n          }" if (parenthesized_expression "((ulong)((long)(this_01->symbols_).\n                            super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n                            _M_impl._M_finish - (long)ppSVar5 >> 3) <= uVar28)" ( (binary_expression "(ulong)((long)(this_01->symbols_).\n                            super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n                            _M_impl._M_finish - (long)ppSVar5 >> 3) <= uVar28" (call_expression "(ulong)((long)(this_01->symbols_).\n                            super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n                            _M_impl._M_finish - (long)ppSVar5 >> 3)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((long)(this_01->symbols_).\n                            super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n                            _M_impl._M_finish - (long)ppSVar5 >> 3)" ( (binary_expression "(long)(this_01->symbols_).\n                            super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n                            _M_impl._M_finish - (long)ppSVar5 >> 3" (binary_expression "(long)(this_01->symbols_).\n                            super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n                            _M_impl._M_finish - (long)ppSVar5" (field_expression "(long)(this_01->symbols_).\n                            super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n                            _M_impl._M_finish" (field_expression "(long)(this_01->symbols_).\n                            super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n                            _M_impl" (binary_expression "(long)(this_01->symbols_).\n                            super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "(long)(this_01->symbols_).\n                            super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "(long)(this_01->symbols_).\n                            super__Vector_base<gold::Symbol*,_std" (binary_expression "(long)(this_01->symbols_).\n                            super__Vector_base<gold" (cast_expression "(long)(this_01->symbols_).\n                            super__Vector_base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "(this_01->symbols_).\n                            super__Vector_base" (parenthesized_expression "(this_01->symbols_)" ( (field_expression "this_01->symbols_" identifier -> field_identifier) )) . field_identifier)) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) - (cast_expression "(long)ppSVar5" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) >> number_literal) ))) <= identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/object.h",0x8ad,"global_symbol");\n          }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/object.h",0x8ad,"global_symbol");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/object.h",0x8ad,"global_symbol");" (call_expression "do_gold_unreachable("../../gold/object.h",0x8ad,"global_symbol")" identifier (argument_list "("../../gold/object.h",0x8ad,"global_symbol")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""global_symbol"" " string_content ") ))) ;)) })) (expression_statement "pGVar21 = (General_options *)ppSVar5[uVar28];" (assignment_expression "pGVar21 = (General_options *)ppSVar5[uVar28]" identifier = (cast_expression "(General_options *)ppSVar5[uVar28]" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "ppSVar5[uVar28]" identifier [ identifier ]))) ;) (if_statement "if (pGVar21 == (General_options *)0x0) goto LAB_003107a0;" if (parenthesized_expression "(pGVar21 == (General_options *)0x0)" ( (binary_expression "pGVar21 == (General_options *)0x0" identifier == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_003107a0;" goto statement_identifier ;)) (if_statement "if (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring & 0x100000\n              ) == 0) goto LAB_0030fa33;" if (parenthesized_expression "(((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring & 0x100000\n              ) == 0)" ( (binary_expression "((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring & 0x100000\n              ) == 0" (parenthesized_expression "((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring & 0x100000\n              )" ( (binary_expression "(ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring & 0x100000" (field_expression "(ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring" (field_expression "(ulong)(pGVar21->help_initializer_).super_Struct_special.option" (field_expression "(ulong)(pGVar21->help_initializer_).super_Struct_special" (call_expression "(ulong)(pGVar21->help_initializer_)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(pGVar21->help_initializer_)" ( (field_expression "pGVar21->help_initializer_" identifier -> field_identifier) ))) . field_identifier) . field_identifier) . field_identifier) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0030fa33;" goto statement_identifier ;)) comment (ERROR "pGVar21 = (General_options *)\n                    gold::" (assignment_expression "pGVar21 = (General_options *)\n                    gold" identifier = (cast_expression "(General_options *)\n                    gold" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) : :) (labeled_statement "Symbol_table::resolve_forwards(relinfo->symtab,(Symbol *)pGVar21);" statement_identifier : (ERROR ":" :) (expression_statement "resolve_forwards(relinfo->symtab,(Symbol *)pGVar21);" (call_expression "resolve_forwards(relinfo->symtab,(Symbol *)pGVar21)" identifier (argument_list "(relinfo->symtab,(Symbol *)pGVar21)" ( (field_expression "relinfo->symtab" identifier -> field_identifier) , (cast_expression "(Symbol *)pGVar21" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;)) (expression_statement "uVar16 = *(uint *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                    longname.field_2 + 4);" (assignment_expression "uVar16 = *(uint *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                    longname.field_2 + 4)" identifier = (pointer_expression "*(uint *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                    longname.field_2 + 4)" * (cast_expression "(uint *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                    longname.field_2 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                    longname.field_2 + 4)" ( (binary_expression "(long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                    longname.field_2 + 4" (cast_expression "(long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                    longname.field_2" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&(pGVar21->help_initializer_).super_Struct_special.option.\n                                    longname.field_2" & (field_expression "(pGVar21->help_initializer_).super_Struct_special.option.\n                                    longname.field_2" (field_expression "(pGVar21->help_initializer_).super_Struct_special.option.\n                                    longname" (field_expression "(pGVar21->help_initializer_).super_Struct_special.option" (field_expression "(pGVar21->help_initializer_).super_Struct_special" (parenthesized_expression "(pGVar21->help_initializer_)" ( (field_expression "pGVar21->help_initializer_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier))) + number_literal) ))))) ;) (expression_statement "uVar30 = uVar16 - 1;" (assignment_expression "uVar30 = uVar16 - 1" identifier = (binary_expression "uVar16 - 1" identifier - number_literal)) ;) (if_statement "if (uVar30 < 0xfffffffe) {\n            if ((symval.output_symtab_index_ != 0) && (symval.output_symtab_index_ != 0xfffffffe)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0031077c to 00310780 has its CatchHandler @ 0031092a */\n              gold::do_gold_unreachable("../../gold/object.h",0x70c,"set_output_symtab_index");\n            }\n            goto LAB_0030fcf0;\n          }" if (parenthesized_expression "(uVar30 < 0xfffffffe)" ( (binary_expression "uVar30 < 0xfffffffe" identifier < number_literal) )) (compound_statement "{\n            if ((symval.output_symtab_index_ != 0) && (symval.output_symtab_index_ != 0xfffffffe)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0031077c to 00310780 has its CatchHandler @ 0031092a */\n              gold::do_gold_unreachable("../../gold/object.h",0x70c,"set_output_symtab_index");\n            }\n            goto LAB_0030fcf0;\n          }" { (if_statement "if ((symval.output_symtab_index_ != 0) && (symval.output_symtab_index_ != 0xfffffffe)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0031077c to 00310780 has its CatchHandler @ 0031092a */\n              gold::do_gold_unreachable("../../gold/object.h",0x70c,"set_output_symtab_index");\n            }" if (parenthesized_expression "((symval.output_symtab_index_ != 0) && (symval.output_symtab_index_ != 0xfffffffe))" ( (binary_expression "(symval.output_symtab_index_ != 0) && (symval.output_symtab_index_ != 0xfffffffe)" (parenthesized_expression "(symval.output_symtab_index_ != 0)" ( (binary_expression "symval.output_symtab_index_ != 0" (field_expression "symval.output_symtab_index_" identifier . field_identifier) != number_literal) )) && (parenthesized_expression "(symval.output_symtab_index_ != 0xfffffffe)" ( (binary_expression "symval.output_symtab_index_ != 0xfffffffe" (field_expression "symval.output_symtab_index_" identifier . field_identifier) != number_literal) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 0031077c to 00310780 has its CatchHandler @ 0031092a */\n              gold::do_gold_unreachable("../../gold/object.h",0x70c,"set_output_symtab_index");\n            }" { comment comment (labeled_statement "gold::do_gold_unreachable("../../gold/object.h",0x70c,"set_output_symtab_index");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/object.h",0x70c,"set_output_symtab_index");" (call_expression "do_gold_unreachable("../../gold/object.h",0x70c,"set_output_symtab_index")" identifier (argument_list "("../../gold/object.h",0x70c,"set_output_symtab_index")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""set_output_symtab_index"" " string_content ") ))) ;)) })) (goto_statement "goto LAB_0030fcf0;" goto statement_identifier ;) })) (if_statement "if (symval.output_symtab_index_ != 0) {\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }" if (parenthesized_expression "(symval.output_symtab_index_ != 0)" ( (binary_expression "symval.output_symtab_index_ != 0" (field_expression "symval.output_symtab_index_" identifier . field_identifier) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/object.h",0x716,"set_no_output_symtab_entry");" statement_identifier : (ERROR ":" :) (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_0030fa42:\n          symval.output_symtab_index_ = 0xffffffff;" statement_identifier : (expression_statement "symval.output_symtab_index_ = 0xffffffff;" (assignment_expression "symval.output_symtab_index_ = 0xffffffff" (field_expression "symval.output_symtab_index_" identifier . field_identifier) = number_literal) ;)) (labeled_statement "LAB_0030fa4a:\n          symval.u_.value =\n               *(Value *)&(pGVar21->help_initializer_).super_Struct_special.option.helparg;" statement_identifier : (expression_statement "symval.u_.value =\n               *(Value *)&(pGVar21->help_initializer_).super_Struct_special.option.helparg;" (assignment_expression "symval.u_.value =\n               *(Value *)&(pGVar21->help_initializer_).super_Struct_special.option.helparg" (field_expression "symval.u_.value" (field_expression "symval.u_" identifier . field_identifier) . field_identifier) = (pointer_expression "*(Value *)&(pGVar21->help_initializer_).super_Struct_special.option.helparg" * (cast_expression "(Value *)&(pGVar21->help_initializer_).super_Struct_special.option.helparg" ( (type_descriptor "Value *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pGVar21->help_initializer_).super_Struct_special.option.helparg" & (field_expression "(pGVar21->help_initializer_).super_Struct_special.option.helparg" (field_expression "(pGVar21->help_initializer_).super_Struct_special.option" (field_expression "(pGVar21->help_initializer_).super_Struct_special" (parenthesized_expression "(pGVar21->help_initializer_)" ( (field_expression "pGVar21->help_initializer_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier))))) ;)) (expression_statement "bVar29 = *(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                   0xf;" (assignment_expression "bVar29 = *(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                   0xf" identifier = (binary_expression "*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                   0xf" (pointer_expression "*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring" * (cast_expression "(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pGVar21->help_initializer_).super_Struct_special.option.helpstring" & (field_expression "(pGVar21->help_initializer_).super_Struct_special.option.helpstring" (field_expression "(pGVar21->help_initializer_).super_Struct_special.option" (field_expression "(pGVar21->help_initializer_).super_Struct_special" (parenthesized_expression "(pGVar21->help_initializer_)" ( (field_expression "pGVar21->help_initializer_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier)))) & number_literal)) ;) (if_statement "if (bVar29 == 6) {\n            symval._8_4_ = symval._8_4_ | 0x20000000;\n          }\n          else if (bVar29 == 10) {\n            symval._8_4_ = symval._8_4_ | 0x40000000;\n          }" if (parenthesized_expression "(bVar29 == 6)" ( (binary_expression "bVar29 == 6" identifier == number_literal) )) (compound_statement "{\n            symval._8_4_ = symval._8_4_ | 0x20000000;\n          }" { (expression_statement "symval._8_4_ = symval._8_4_ | 0x20000000;" (assignment_expression "symval._8_4_ = symval._8_4_ | 0x20000000" (field_expression "symval._8_4_" identifier . field_identifier) = (binary_expression "symval._8_4_ | 0x20000000" (field_expression "symval._8_4_" identifier . field_identifier) | number_literal)) ;) }) (else_clause "else if (bVar29 == 10) {\n            symval._8_4_ = symval._8_4_ | 0x40000000;\n          }" else (if_statement "if (bVar29 == 10) {\n            symval._8_4_ = symval._8_4_ | 0x40000000;\n          }" if (parenthesized_expression "(bVar29 == 10)" ( (binary_expression "bVar29 == 10" identifier == number_literal) )) (compound_statement "{\n            symval._8_4_ = symval._8_4_ | 0x40000000;\n          }" { (expression_statement "symval._8_4_ = symval._8_4_ | 0x40000000;" (assignment_expression "symval._8_4_ = symval._8_4_ | 0x40000000" (field_expression "symval._8_4_" identifier . field_identifier) = (binary_expression "symval._8_4_ | 0x40000000" (field_expression "symval._8_4_" identifier . field_identifier) | number_literal)) ;) })))) (expression_statement "bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                    helpstring + 3);" (assignment_expression "bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                    helpstring + 3)" identifier = (pointer_expression "*(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                    helpstring + 3)" * (cast_expression "(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                    helpstring + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                    helpstring + 3)" ( (binary_expression "(long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                    helpstring + 3" (cast_expression "(long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                    helpstring" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&(pGVar21->help_initializer_).super_Struct_special.option.\n                                    helpstring" & (field_expression "(pGVar21->help_initializer_).super_Struct_special.option.\n                                    helpstring" (field_expression "(pGVar21->help_initializer_).super_Struct_special.option" (field_expression "(pGVar21->help_initializer_).super_Struct_special" (parenthesized_expression "(pGVar21->help_initializer_)" ( (field_expression "pGVar21->help_initializer_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier))) + number_literal) ))))) ;) (if_statement "if ((char)bVar29 < '\0') {\n            pcVar20 = (pGVar21->help_initializer_).super_Struct_special.option.helpstring;\n            if (((ulong)pcVar20 & 0x70000) == 0) {\n              if ((*(uint *)&(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                             field_2 == 0) && ((bVar29 & 0x20) != 0)) {\nLAB_0030fd10:\n                pSVar38 = &symval;\n                uVar30 = 0;\n                goto LAB_0030fd25;\n              }\n            }\n            else if (((ulong)pcVar20 & 0x70000) == 0x40000) goto LAB_0030fd10;\n          }" if (parenthesized_expression "((char)bVar29 < '\0')" ( (binary_expression "(char)bVar29 < '\0'" (cast_expression "(char)bVar29" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            pcVar20 = (pGVar21->help_initializer_).super_Struct_special.option.helpstring;\n            if (((ulong)pcVar20 & 0x70000) == 0) {\n              if ((*(uint *)&(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                             field_2 == 0) && ((bVar29 & 0x20) != 0)) {\nLAB_0030fd10:\n                pSVar38 = &symval;\n                uVar30 = 0;\n                goto LAB_0030fd25;\n              }\n            }\n            else if (((ulong)pcVar20 & 0x70000) == 0x40000) goto LAB_0030fd10;\n          }" { (expression_statement "pcVar20 = (pGVar21->help_initializer_).super_Struct_special.option.helpstring;" (assignment_expression "pcVar20 = (pGVar21->help_initializer_).super_Struct_special.option.helpstring" identifier = (field_expression "(pGVar21->help_initializer_).super_Struct_special.option.helpstring" (field_expression "(pGVar21->help_initializer_).super_Struct_special.option" (field_expression "(pGVar21->help_initializer_).super_Struct_special" (parenthesized_expression "(pGVar21->help_initializer_)" ( (field_expression "pGVar21->help_initializer_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier)) ;) (if_statement "if (((ulong)pcVar20 & 0x70000) == 0) {\n              if ((*(uint *)&(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                             field_2 == 0) && ((bVar29 & 0x20) != 0)) {\nLAB_0030fd10:\n                pSVar38 = &symval;\n                uVar30 = 0;\n                goto LAB_0030fd25;\n              }\n            }\n            else if (((ulong)pcVar20 & 0x70000) == 0x40000) goto LAB_0030fd10;" if (parenthesized_expression "(((ulong)pcVar20 & 0x70000) == 0)" ( (binary_expression "((ulong)pcVar20 & 0x70000) == 0" (parenthesized_expression "((ulong)pcVar20 & 0x70000)" ( (binary_expression "(ulong)pcVar20 & 0x70000" (cast_expression "(ulong)pcVar20" ( (type_descriptor "ulong" type_identifier) ) identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n              if ((*(uint *)&(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                             field_2 == 0) && ((bVar29 & 0x20) != 0)) {\nLAB_0030fd10:\n                pSVar38 = &symval;\n                uVar30 = 0;\n                goto LAB_0030fd25;\n              }\n            }" { (if_statement "if ((*(uint *)&(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                             field_2 == 0) && ((bVar29 & 0x20) != 0)) {\nLAB_0030fd10:\n                pSVar38 = &symval;\n                uVar30 = 0;\n                goto LAB_0030fd25;\n              }" if (parenthesized_expression "((*(uint *)&(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                             field_2 == 0) && ((bVar29 & 0x20) != 0))" ( (binary_expression "(*(uint *)&(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                             field_2 == 0) && ((bVar29 & 0x20) != 0)" (parenthesized_expression "(*(uint *)&(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                             field_2 == 0)" ( (binary_expression "*(uint *)&(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                             field_2 == 0" (pointer_expression "*(uint *)&(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                             field_2" * (cast_expression "(uint *)&(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                             field_2" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                             field_2" & (field_expression "(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                             field_2" (field_expression "(pGVar21->help_initializer_).super_Struct_special.option.longname" (field_expression "(pGVar21->help_initializer_).super_Struct_special.option" (field_expression "(pGVar21->help_initializer_).super_Struct_special" (parenthesized_expression "(pGVar21->help_initializer_)" ( (field_expression "pGVar21->help_initializer_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier)))) == number_literal) )) && (parenthesized_expression "((bVar29 & 0x20) != 0)" ( (binary_expression "(bVar29 & 0x20) != 0" (parenthesized_expression "(bVar29 & 0x20)" ( (binary_expression "bVar29 & 0x20" identifier & number_literal) )) != number_literal) ))) )) (compound_statement "{\nLAB_0030fd10:\n                pSVar38 = &symval;\n                uVar30 = 0;\n                goto LAB_0030fd25;\n              }" { (labeled_statement "LAB_0030fd10:\n                pSVar38 = &symval;" statement_identifier : (expression_statement "pSVar38 = &symval;" (assignment_expression "pSVar38 = &symval" identifier = (pointer_expression "&symval" & identifier)) ;)) (expression_statement "uVar30 = 0;" (assignment_expression "uVar30 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0030fd25;" goto statement_identifier ;) })) }) (else_clause "else if (((ulong)pcVar20 & 0x70000) == 0x40000) goto LAB_0030fd10;" else (if_statement "if (((ulong)pcVar20 & 0x70000) == 0x40000) goto LAB_0030fd10;" if (parenthesized_expression "(((ulong)pcVar20 & 0x70000) == 0x40000)" ( (binary_expression "((ulong)pcVar20 & 0x70000) == 0x40000" (parenthesized_expression "((ulong)pcVar20 & 0x70000)" ( (binary_expression "(ulong)pcVar20 & 0x70000" (cast_expression "(ulong)pcVar20" ( (type_descriptor "ulong" type_identifier) ) identifier) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0030fd10;" goto statement_identifier ;)))) })) (expression_statement "pSVar38 = &symval;" (assignment_expression "pSVar38 = &symval" identifier = (pointer_expression "&symval" & identifier)) ;) (labeled_statement "LAB_0030faa5:\n          symval2._8_4_ = 0x80000000;" statement_identifier : (expression_statement "symval2._8_4_ = 0x80000000;" (assignment_expression "symval2._8_4_ = 0x80000000" (field_expression "symval2._8_4_" identifier . field_identifier) = number_literal) ;)) (expression_statement "symval2.output_symtab_index_ = 0;" (assignment_expression "symval2.output_symtab_index_ = 0" (field_expression "symval2.output_symtab_index_" identifier . field_identifier) = number_literal) ;) (expression_statement "symval2.output_dynsym_index_ = 0xffffffff;" (assignment_expression "symval2.output_dynsym_index_ = 0xffffffff" (field_expression "symval2.output_dynsym_index_" identifier . field_identifier) = number_literal) ;) (expression_statement "symval2.u_.value = 0;" (assignment_expression "symval2.u_.value = 0" (field_expression "symval2.u_.value" (field_expression "symval2.u_" identifier . field_identifier) . field_identifier) = number_literal) ;) (if_statement "if ((long)local_140 < 0) goto LAB_0030fe48;" if (parenthesized_expression "((long)local_140 < 0)" ( (binary_expression "(long)local_140 < 0" (cast_expression "(long)local_140" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) < number_literal) )) (goto_statement "goto LAB_0030fe48;" goto statement_identifier ;)) (labeled_statement "LAB_0030fae5:\n          if ((view_size <= local_140) || (view + local_140 == (uchar *)0x0)) goto LAB_0030fe48;" statement_identifier : (if_statement "if ((view_size <= local_140) || (view + local_140 == (uchar *)0x0)) goto LAB_0030fe48;" if (parenthesized_expression "((view_size <= local_140) || (view + local_140 == (uchar *)0x0))" ( (binary_expression "(view_size <= local_140) || (view + local_140 == (uchar *)0x0)" (parenthesized_expression "(view_size <= local_140)" ( (binary_expression "view_size <= local_140" identifier <= identifier) )) || (parenthesized_expression "(view + local_140 == (uchar *)0x0)" ( (binary_expression "view + local_140 == (uchar *)0x0" (binary_expression "view + local_140" identifier + identifier) == (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (goto_statement "goto LAB_0030fe48;" goto statement_identifier ;))) (expression_statement "uVar37 = local_120[1];" (assignment_expression "uVar37 = local_120[1]" identifier = (subscript_expression "local_120[1]" identifier [ number_literal ])) ;) (if_statement "if (uVar37 >> 0x18 != 0) {\n            pcVar20 = (char *)gettext("Invalid/unrecognized reloc reloc %d.");\n                    /* try { // try from 0030fb3d to 0030fb59 has its CatchHandler @ 00310922 */\n            gold::gold_error(pcVar20,(ulong)(uVar37 >> 0x18));\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable\n                      ("../../gold/aarch64-reloc-property.h",0xeb,"code_to_array_index");\n          }" if (parenthesized_expression "(uVar37 >> 0x18 != 0)" ( (binary_expression "uVar37 >> 0x18 != 0" (binary_expression "uVar37 >> 0x18" identifier >> number_literal) != number_literal) )) (compound_statement "{\n            pcVar20 = (char *)gettext("Invalid/unrecognized reloc reloc %d.");\n                    /* try { // try from 0030fb3d to 0030fb59 has its CatchHandler @ 00310922 */\n            gold::gold_error(pcVar20,(ulong)(uVar37 >> 0x18));\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable\n                      ("../../gold/aarch64-reloc-property.h",0xeb,"code_to_array_index");\n          }" { (expression_statement "pcVar20 = (char *)gettext("Invalid/unrecognized reloc reloc %d.");" (assignment_expression "pcVar20 = (char *)gettext("Invalid/unrecognized reloc reloc %d.")" identifier = (cast_expression "(char *)gettext("Invalid/unrecognized reloc reloc %d.")" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext("Invalid/unrecognized reloc reloc %d.")" identifier (argument_list "("Invalid/unrecognized reloc reloc %d.")" ( (string_literal ""Invalid/unrecognized reloc reloc %d."" " string_content ") ))))) ;) comment (labeled_statement "gold::gold_error(pcVar20,(ulong)(uVar37 >> 0x18));" statement_identifier : (ERROR ":" :) (expression_statement "gold_error(pcVar20,(ulong)(uVar37 >> 0x18));" (call_expression "gold_error(pcVar20,(ulong)(uVar37 >> 0x18))" identifier (argument_list "(pcVar20,(ulong)(uVar37 >> 0x18))" ( identifier , (call_expression "(ulong)(uVar37 >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar37 >> 0x18)" ( (binary_expression "uVar37 >> 0x18" identifier >> number_literal) ))) ))) ;)) comment (labeled_statement "gold::do_gold_unreachable\n                      ("../../gold/aarch64-reloc-property.h",0xeb,"code_to_array_index");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable\n                      ("../../gold/aarch64-reloc-property.h",0xeb,"code_to_array_index");" (call_expression "do_gold_unreachable\n                      ("../../gold/aarch64-reloc-property.h",0xeb,"code_to_array_index")" identifier (argument_list "("../../gold/aarch64-reloc-property.h",0xeb,"code_to_array_index")" ( (string_literal ""../../gold/aarch64-reloc-property.h"" " string_content ") , number_literal , (string_literal ""code_to_array_index"" " string_content ") ))) ;)) })) (if_statement "if (aarch64_reloc_property_table->table_[0] == (AArch64_reloc_property *)0x0) {\n                    /* try { // try from 003104dd to 003104e1 has its CatchHandler @ 00310922 */\n            gold::AArch64_reloc_property_table::reloc_name_in_error_message\n                      (&reloc_name,aarch64_reloc_property_table,0);\n            _Var31 = reloc_name._M_dataplus;\n            pcVar20 = (char *)gettext("cannot relocate %s in object file");\n            uVar37 = *local_120;\n            pGVar32 = local_148;\n                    /* try { // try from 00310510 to 00310514 has its CatchHandler @ 0031091a */\n            gold::gold_error_at_location<32,_true>\n                      (relinfo,(size_t)local_148,\n                       (ulong)(uVar37 >> 0x18 | (uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8 |\n                              uVar37 << 0x18),pcVar20,_Var31._M_p);\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)reloc_name._M_dataplus._M_p != &reloc_name.field_2) {\n              operator_delete(reloc_name._M_dataplus._M_p);\n            }\n          }\n          else {\n            pGVar32 = (General_options *)0x0;\n            pSVar7 = relinfo->object;\n            symval_1._8_4_ = 0x80000000;\n            symval_1.output_symtab_index_ = 0;\n            symval_1.output_dynsym_index_ = 0xffffffff;\n            symval_1.u_.value = 0;\n            if (pGVar21 == (General_options *)0x0) {\n              if ((pSVar38->field_0xb & 0x40) != 0) {\n                uVar37 = ((uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8 | uVar37 << 0x18) >> 8;\n                pGVar32 = (General_options *)(ulong)uVar37;\n                this_00 = pSVar7;\n                    /* try { // try from 00310475 to 003104bc has its CatchHandler @ 00310944 */\n                bVar14 = gold::Sized_relobj_file<32,_true>::local_has_plt_offset(pSVar7,uVar37);\n                if (bVar14) {\n                  pOVar10 = this->plt_;\n                  if (pOVar10 == (Output_data_plt_aarch64<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108c5 to 003108c9 has its CatchHandler @ 00310944 */\n                    plt_section((Target_aarch64<32,_true> *)this_00);\n                  }\n                  if (((pOVar10->super_Output_section_data).super_Output_data.field_0x20 & 1) == 0)\n                  {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108a8 to 003108ac has its CatchHandler @ 00310944 */\n                    gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar22 = (pOVar10->super_Output_section_data).super_Output_data.address_;\n                  uVar30 = pOVar10->count_;\n                  pGVar32 = (General_options *)(ulong)uVar37;\n                  iVar19 = (*(pSVar7->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                             _vptr_Object[0x2a])(pSVar7);\n                  symval_1.u_.value = (int)uVar22 + 0x20 + uVar30 * 0x10 + iVar19;\n                }\n              }\n            }\n            else {\n              uVar37 = aarch64_reloc_property_table->table_[0]->reference_flags_;\n              pGVar32 = (General_options *)(ulong)uVar37;\n                    /* try { // try from 003100df to 00310101 has its CatchHandler @ 00310944 */\n              bVar14 = gold::Symbol::use_plt_offset((Symbol *)pGVar21,uVar37);\n              if (bVar14) {\n                if (this->plt_ == (Output_data_plt_aarch64<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310800 to 00310804 has its CatchHandler @ 00310944 */\n                  plt_section((Target_aarch64<32,_true> *)0x0);\n                }\n                pGVar32 = pGVar21;\n                uVar22 = Output_data_plt_aarch64<32,_true>::address_for_global\n                                   (this->plt_,(Symbol *)pGVar21);\n                symval_1.u_.value = (Value)uVar22;\n              }\n            }\n            gold::Symbol_value<32>::~Symbol_value(&symval_1,(int)pGVar32);\n          }" if (parenthesized_expression "(aarch64_reloc_property_table->table_[0] == (AArch64_reloc_property *)0x0)" ( (binary_expression "aarch64_reloc_property_table->table_[0] == (AArch64_reloc_property *)0x0" (subscript_expression "aarch64_reloc_property_table->table_[0]" (field_expression "aarch64_reloc_property_table->table_" identifier -> field_identifier) [ number_literal ]) == (cast_expression "(AArch64_reloc_property *)0x0" ( (type_descriptor "AArch64_reloc_property *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* try { // try from 003104dd to 003104e1 has its CatchHandler @ 00310922 */\n            gold::AArch64_reloc_property_table::reloc_name_in_error_message\n                      (&reloc_name,aarch64_reloc_property_table,0);\n            _Var31 = reloc_name._M_dataplus;\n            pcVar20 = (char *)gettext("cannot relocate %s in object file");\n            uVar37 = *local_120;\n            pGVar32 = local_148;\n                    /* try { // try from 00310510 to 00310514 has its CatchHandler @ 0031091a */\n            gold::gold_error_at_location<32,_true>\n                      (relinfo,(size_t)local_148,\n                       (ulong)(uVar37 >> 0x18 | (uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8 |\n                              uVar37 << 0x18),pcVar20,_Var31._M_p);\n            if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)reloc_name._M_dataplus._M_p != &reloc_name.field_2) {\n              operator_delete(reloc_name._M_dataplus._M_p);\n            }\n          }" { comment (labeled_statement "gold::AArch64_reloc_property_table::reloc_name_in_error_message\n                      (&reloc_name,aarch64_reloc_property_table,0);" statement_identifier : (ERROR ":" :) (labeled_statement "AArch64_reloc_property_table::reloc_name_in_error_message\n                      (&reloc_name,aarch64_reloc_property_table,0);" statement_identifier : (ERROR ":" :) (expression_statement "reloc_name_in_error_message\n                      (&reloc_name,aarch64_reloc_property_table,0);" (call_expression "reloc_name_in_error_message\n                      (&reloc_name,aarch64_reloc_property_table,0)" identifier (argument_list "(&reloc_name,aarch64_reloc_property_table,0)" ( (pointer_expression "&reloc_name" & identifier) , identifier , number_literal ))) ;))) (expression_statement "_Var31 = reloc_name._M_dataplus;" (assignment_expression "_Var31 = reloc_name._M_dataplus" identifier = (field_expression "reloc_name._M_dataplus" identifier . field_identifier)) ;) (expression_statement "pcVar20 = (char *)gettext("cannot relocate %s in object file");" (assignment_expression "pcVar20 = (char *)gettext("cannot relocate %s in object file")" identifier = (cast_expression "(char *)gettext("cannot relocate %s in object file")" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext("cannot relocate %s in object file")" identifier (argument_list "("cannot relocate %s in object file")" ( (string_literal ""cannot relocate %s in object file"" " string_content ") ))))) ;) (expression_statement "uVar37 = *local_120;" (assignment_expression "uVar37 = *local_120" identifier = (pointer_expression "*local_120" * identifier)) ;) (expression_statement "pGVar32 = local_148;" (assignment_expression "pGVar32 = local_148" identifier = identifier) ;) comment (labeled_statement "gold::gold_error_at_location<32,_true>\n                      (relinfo,(size_t)local_148,\n                       (ulong)(uVar37 >> 0x18 | (uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8 |\n                              uVar37 << 0x18),pcVar20,_Var31._M_p);" statement_identifier : (ERROR ":" :) (expression_statement "gold_error_at_location<32,_true>\n                      (relinfo,(size_t)local_148,\n                       (ulong)(uVar37 >> 0x18 | (uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8 |\n                              uVar37 << 0x18),pcVar20,_Var31._M_p);" (comma_expression "gold_error_at_location<32,_true>\n                      (relinfo,(size_t)local_148,\n                       (ulong)(uVar37 >> 0x18 | (uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8 |\n                              uVar37 << 0x18),pcVar20,_Var31._M_p)" (binary_expression "gold_error_at_location<32" identifier < number_literal) , (binary_expression "_true>\n                      (relinfo,(size_t)local_148,\n                       (ulong)(uVar37 >> 0x18 | (uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8 |\n                              uVar37 << 0x18),pcVar20,_Var31._M_p)" identifier > (parenthesized_expression "(relinfo,(size_t)local_148,\n                       (ulong)(uVar37 >> 0x18 | (uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8 |\n                              uVar37 << 0x18),pcVar20,_Var31._M_p)" ( (comma_expression "relinfo,(size_t)local_148,\n                       (ulong)(uVar37 >> 0x18 | (uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8 |\n                              uVar37 << 0x18),pcVar20,_Var31._M_p" identifier , (comma_expression "(size_t)local_148,\n                       (ulong)(uVar37 >> 0x18 | (uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8 |\n                              uVar37 << 0x18),pcVar20,_Var31._M_p" (cast_expression "(size_t)local_148" ( (type_descriptor "size_t" primitive_type) ) identifier) , (comma_expression "(ulong)(uVar37 >> 0x18 | (uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8 |\n                              uVar37 << 0x18),pcVar20,_Var31._M_p" (call_expression "(ulong)(uVar37 >> 0x18 | (uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8 |\n                              uVar37 << 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar37 >> 0x18 | (uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8 |\n                              uVar37 << 0x18)" ( (binary_expression "uVar37 >> 0x18 | (uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8 |\n                              uVar37 << 0x18" (binary_expression "uVar37 >> 0x18 | (uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8" (binary_expression "uVar37 >> 0x18 | (uVar37 & 0xff0000) >> 8" (binary_expression "uVar37 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar37 & 0xff0000) >> 8" (parenthesized_expression "(uVar37 & 0xff0000)" ( (binary_expression "uVar37 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar37 & 0xff00) << 8" (parenthesized_expression "(uVar37 & 0xff00)" ( (binary_expression "uVar37 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar37 << 0x18" identifier << number_literal)) ))) , (comma_expression "pcVar20,_Var31._M_p" identifier , (field_expression "_Var31._M_p" identifier . field_identifier))))) )))) ;)) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)reloc_name._M_dataplus._M_p != &reloc_name.field_2) {\n              operator_delete(reloc_name._M_dataplus._M_p);\n            }" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)reloc_name._M_dataplus._M_p != &reloc_name.field_2)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                 *)reloc_name._M_dataplus._M_p != &reloc_name.field_2)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_9\n                 *)reloc_name._M_dataplus._M_p != &reloc_name.field_2" (binary_expression "allocator<char>_>_9\n                 *)reloc_name._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n                 *)reloc_name._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "reloc_name._M_dataplus._M_p" (field_expression "reloc_name._M_dataplus" identifier . field_identifier) . field_identifier))) != (pointer_expression "&reloc_name.field_2" & (field_expression "reloc_name.field_2" identifier . field_identifier))) )) )) (compound_statement "{\n              operator_delete(reloc_name._M_dataplus._M_p);\n            }" { (expression_statement "operator_delete(reloc_name._M_dataplus._M_p);" (call_expression "operator_delete(reloc_name._M_dataplus._M_p)" identifier (argument_list "(reloc_name._M_dataplus._M_p)" ( (field_expression "reloc_name._M_dataplus._M_p" (field_expression "reloc_name._M_dataplus" identifier . field_identifier) . field_identifier) ))) ;) })) }) (else_clause "else {\n            pGVar32 = (General_options *)0x0;\n            pSVar7 = relinfo->object;\n            symval_1._8_4_ = 0x80000000;\n            symval_1.output_symtab_index_ = 0;\n            symval_1.output_dynsym_index_ = 0xffffffff;\n            symval_1.u_.value = 0;\n            if (pGVar21 == (General_options *)0x0) {\n              if ((pSVar38->field_0xb & 0x40) != 0) {\n                uVar37 = ((uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8 | uVar37 << 0x18) >> 8;\n                pGVar32 = (General_options *)(ulong)uVar37;\n                this_00 = pSVar7;\n                    /* try { // try from 00310475 to 003104bc has its CatchHandler @ 00310944 */\n                bVar14 = gold::Sized_relobj_file<32,_true>::local_has_plt_offset(pSVar7,uVar37);\n                if (bVar14) {\n                  pOVar10 = this->plt_;\n                  if (pOVar10 == (Output_data_plt_aarch64<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108c5 to 003108c9 has its CatchHandler @ 00310944 */\n                    plt_section((Target_aarch64<32,_true> *)this_00);\n                  }\n                  if (((pOVar10->super_Output_section_data).super_Output_data.field_0x20 & 1) == 0)\n                  {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108a8 to 003108ac has its CatchHandler @ 00310944 */\n                    gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar22 = (pOVar10->super_Output_section_data).super_Output_data.address_;\n                  uVar30 = pOVar10->count_;\n                  pGVar32 = (General_options *)(ulong)uVar37;\n                  iVar19 = (*(pSVar7->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                             _vptr_Object[0x2a])(pSVar7);\n                  symval_1.u_.value = (int)uVar22 + 0x20 + uVar30 * 0x10 + iVar19;\n                }\n              }\n            }\n            else {\n              uVar37 = aarch64_reloc_property_table->table_[0]->reference_flags_;\n              pGVar32 = (General_options *)(ulong)uVar37;\n                    /* try { // try from 003100df to 00310101 has its CatchHandler @ 00310944 */\n              bVar14 = gold::Symbol::use_plt_offset((Symbol *)pGVar21,uVar37);\n              if (bVar14) {\n                if (this->plt_ == (Output_data_plt_aarch64<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310800 to 00310804 has its CatchHandler @ 00310944 */\n                  plt_section((Target_aarch64<32,_true> *)0x0);\n                }\n                pGVar32 = pGVar21;\n                uVar22 = Output_data_plt_aarch64<32,_true>::address_for_global\n                                   (this->plt_,(Symbol *)pGVar21);\n                symval_1.u_.value = (Value)uVar22;\n              }\n            }\n            gold::Symbol_value<32>::~Symbol_value(&symval_1,(int)pGVar32);\n          }" else (compound_statement "{\n            pGVar32 = (General_options *)0x0;\n            pSVar7 = relinfo->object;\n            symval_1._8_4_ = 0x80000000;\n            symval_1.output_symtab_index_ = 0;\n            symval_1.output_dynsym_index_ = 0xffffffff;\n            symval_1.u_.value = 0;\n            if (pGVar21 == (General_options *)0x0) {\n              if ((pSVar38->field_0xb & 0x40) != 0) {\n                uVar37 = ((uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8 | uVar37 << 0x18) >> 8;\n                pGVar32 = (General_options *)(ulong)uVar37;\n                this_00 = pSVar7;\n                    /* try { // try from 00310475 to 003104bc has its CatchHandler @ 00310944 */\n                bVar14 = gold::Sized_relobj_file<32,_true>::local_has_plt_offset(pSVar7,uVar37);\n                if (bVar14) {\n                  pOVar10 = this->plt_;\n                  if (pOVar10 == (Output_data_plt_aarch64<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108c5 to 003108c9 has its CatchHandler @ 00310944 */\n                    plt_section((Target_aarch64<32,_true> *)this_00);\n                  }\n                  if (((pOVar10->super_Output_section_data).super_Output_data.field_0x20 & 1) == 0)\n                  {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108a8 to 003108ac has its CatchHandler @ 00310944 */\n                    gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar22 = (pOVar10->super_Output_section_data).super_Output_data.address_;\n                  uVar30 = pOVar10->count_;\n                  pGVar32 = (General_options *)(ulong)uVar37;\n                  iVar19 = (*(pSVar7->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                             _vptr_Object[0x2a])(pSVar7);\n                  symval_1.u_.value = (int)uVar22 + 0x20 + uVar30 * 0x10 + iVar19;\n                }\n              }\n            }\n            else {\n              uVar37 = aarch64_reloc_property_table->table_[0]->reference_flags_;\n              pGVar32 = (General_options *)(ulong)uVar37;\n                    /* try { // try from 003100df to 00310101 has its CatchHandler @ 00310944 */\n              bVar14 = gold::Symbol::use_plt_offset((Symbol *)pGVar21,uVar37);\n              if (bVar14) {\n                if (this->plt_ == (Output_data_plt_aarch64<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310800 to 00310804 has its CatchHandler @ 00310944 */\n                  plt_section((Target_aarch64<32,_true> *)0x0);\n                }\n                pGVar32 = pGVar21;\n                uVar22 = Output_data_plt_aarch64<32,_true>::address_for_global\n                                   (this->plt_,(Symbol *)pGVar21);\n                symval_1.u_.value = (Value)uVar22;\n              }\n            }\n            gold::Symbol_value<32>::~Symbol_value(&symval_1,(int)pGVar32);\n          }" { (expression_statement "pGVar32 = (General_options *)0x0;" (assignment_expression "pGVar32 = (General_options *)0x0" identifier = (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pSVar7 = relinfo->object;" (assignment_expression "pSVar7 = relinfo->object" identifier = (field_expression "relinfo->object" identifier -> field_identifier)) ;) (expression_statement "symval_1._8_4_ = 0x80000000;" (assignment_expression "symval_1._8_4_ = 0x80000000" (field_expression "symval_1._8_4_" identifier . field_identifier) = number_literal) ;) (expression_statement "symval_1.output_symtab_index_ = 0;" (assignment_expression "symval_1.output_symtab_index_ = 0" (field_expression "symval_1.output_symtab_index_" identifier . field_identifier) = number_literal) ;) (expression_statement "symval_1.output_dynsym_index_ = 0xffffffff;" (assignment_expression "symval_1.output_dynsym_index_ = 0xffffffff" (field_expression "symval_1.output_dynsym_index_" identifier . field_identifier) = number_literal) ;) (expression_statement "symval_1.u_.value = 0;" (assignment_expression "symval_1.u_.value = 0" (field_expression "symval_1.u_.value" (field_expression "symval_1.u_" identifier . field_identifier) . field_identifier) = number_literal) ;) (if_statement "if (pGVar21 == (General_options *)0x0) {\n              if ((pSVar38->field_0xb & 0x40) != 0) {\n                uVar37 = ((uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8 | uVar37 << 0x18) >> 8;\n                pGVar32 = (General_options *)(ulong)uVar37;\n                this_00 = pSVar7;\n                    /* try { // try from 00310475 to 003104bc has its CatchHandler @ 00310944 */\n                bVar14 = gold::Sized_relobj_file<32,_true>::local_has_plt_offset(pSVar7,uVar37);\n                if (bVar14) {\n                  pOVar10 = this->plt_;\n                  if (pOVar10 == (Output_data_plt_aarch64<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108c5 to 003108c9 has its CatchHandler @ 00310944 */\n                    plt_section((Target_aarch64<32,_true> *)this_00);\n                  }\n                  if (((pOVar10->super_Output_section_data).super_Output_data.field_0x20 & 1) == 0)\n                  {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108a8 to 003108ac has its CatchHandler @ 00310944 */\n                    gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar22 = (pOVar10->super_Output_section_data).super_Output_data.address_;\n                  uVar30 = pOVar10->count_;\n                  pGVar32 = (General_options *)(ulong)uVar37;\n                  iVar19 = (*(pSVar7->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                             _vptr_Object[0x2a])(pSVar7);\n                  symval_1.u_.value = (int)uVar22 + 0x20 + uVar30 * 0x10 + iVar19;\n                }\n              }\n            }\n            else {\n              uVar37 = aarch64_reloc_property_table->table_[0]->reference_flags_;\n              pGVar32 = (General_options *)(ulong)uVar37;\n                    /* try { // try from 003100df to 00310101 has its CatchHandler @ 00310944 */\n              bVar14 = gold::Symbol::use_plt_offset((Symbol *)pGVar21,uVar37);\n              if (bVar14) {\n                if (this->plt_ == (Output_data_plt_aarch64<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310800 to 00310804 has its CatchHandler @ 00310944 */\n                  plt_section((Target_aarch64<32,_true> *)0x0);\n                }\n                pGVar32 = pGVar21;\n                uVar22 = Output_data_plt_aarch64<32,_true>::address_for_global\n                                   (this->plt_,(Symbol *)pGVar21);\n                symval_1.u_.value = (Value)uVar22;\n              }\n            }" if (parenthesized_expression "(pGVar21 == (General_options *)0x0)" ( (binary_expression "pGVar21 == (General_options *)0x0" identifier == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              if ((pSVar38->field_0xb & 0x40) != 0) {\n                uVar37 = ((uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8 | uVar37 << 0x18) >> 8;\n                pGVar32 = (General_options *)(ulong)uVar37;\n                this_00 = pSVar7;\n                    /* try { // try from 00310475 to 003104bc has its CatchHandler @ 00310944 */\n                bVar14 = gold::Sized_relobj_file<32,_true>::local_has_plt_offset(pSVar7,uVar37);\n                if (bVar14) {\n                  pOVar10 = this->plt_;\n                  if (pOVar10 == (Output_data_plt_aarch64<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108c5 to 003108c9 has its CatchHandler @ 00310944 */\n                    plt_section((Target_aarch64<32,_true> *)this_00);\n                  }\n                  if (((pOVar10->super_Output_section_data).super_Output_data.field_0x20 & 1) == 0)\n                  {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108a8 to 003108ac has its CatchHandler @ 00310944 */\n                    gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar22 = (pOVar10->super_Output_section_data).super_Output_data.address_;\n                  uVar30 = pOVar10->count_;\n                  pGVar32 = (General_options *)(ulong)uVar37;\n                  iVar19 = (*(pSVar7->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                             _vptr_Object[0x2a])(pSVar7);\n                  symval_1.u_.value = (int)uVar22 + 0x20 + uVar30 * 0x10 + iVar19;\n                }\n              }\n            }" { (if_statement "if ((pSVar38->field_0xb & 0x40) != 0) {\n                uVar37 = ((uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8 | uVar37 << 0x18) >> 8;\n                pGVar32 = (General_options *)(ulong)uVar37;\n                this_00 = pSVar7;\n                    /* try { // try from 00310475 to 003104bc has its CatchHandler @ 00310944 */\n                bVar14 = gold::Sized_relobj_file<32,_true>::local_has_plt_offset(pSVar7,uVar37);\n                if (bVar14) {\n                  pOVar10 = this->plt_;\n                  if (pOVar10 == (Output_data_plt_aarch64<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108c5 to 003108c9 has its CatchHandler @ 00310944 */\n                    plt_section((Target_aarch64<32,_true> *)this_00);\n                  }\n                  if (((pOVar10->super_Output_section_data).super_Output_data.field_0x20 & 1) == 0)\n                  {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108a8 to 003108ac has its CatchHandler @ 00310944 */\n                    gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar22 = (pOVar10->super_Output_section_data).super_Output_data.address_;\n                  uVar30 = pOVar10->count_;\n                  pGVar32 = (General_options *)(ulong)uVar37;\n                  iVar19 = (*(pSVar7->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                             _vptr_Object[0x2a])(pSVar7);\n                  symval_1.u_.value = (int)uVar22 + 0x20 + uVar30 * 0x10 + iVar19;\n                }\n              }" if (parenthesized_expression "((pSVar38->field_0xb & 0x40) != 0)" ( (binary_expression "(pSVar38->field_0xb & 0x40) != 0" (parenthesized_expression "(pSVar38->field_0xb & 0x40)" ( (binary_expression "pSVar38->field_0xb & 0x40" (field_expression "pSVar38->field_0xb" identifier -> field_identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n                uVar37 = ((uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8 | uVar37 << 0x18) >> 8;\n                pGVar32 = (General_options *)(ulong)uVar37;\n                this_00 = pSVar7;\n                    /* try { // try from 00310475 to 003104bc has its CatchHandler @ 00310944 */\n                bVar14 = gold::Sized_relobj_file<32,_true>::local_has_plt_offset(pSVar7,uVar37);\n                if (bVar14) {\n                  pOVar10 = this->plt_;\n                  if (pOVar10 == (Output_data_plt_aarch64<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108c5 to 003108c9 has its CatchHandler @ 00310944 */\n                    plt_section((Target_aarch64<32,_true> *)this_00);\n                  }\n                  if (((pOVar10->super_Output_section_data).super_Output_data.field_0x20 & 1) == 0)\n                  {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108a8 to 003108ac has its CatchHandler @ 00310944 */\n                    gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar22 = (pOVar10->super_Output_section_data).super_Output_data.address_;\n                  uVar30 = pOVar10->count_;\n                  pGVar32 = (General_options *)(ulong)uVar37;\n                  iVar19 = (*(pSVar7->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                             _vptr_Object[0x2a])(pSVar7);\n                  symval_1.u_.value = (int)uVar22 + 0x20 + uVar30 * 0x10 + iVar19;\n                }\n              }" { (expression_statement "uVar37 = ((uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8 | uVar37 << 0x18) >> 8;" (assignment_expression "uVar37 = ((uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8 | uVar37 << 0x18) >> 8" identifier = (binary_expression "((uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8 | uVar37 << 0x18) >> 8" (parenthesized_expression "((uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8 | uVar37 << 0x18)" ( (binary_expression "(uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8 | uVar37 << 0x18" (binary_expression "(uVar37 & 0xff0000) >> 8 | (uVar37 & 0xff00) << 8" (binary_expression "(uVar37 & 0xff0000) >> 8" (parenthesized_expression "(uVar37 & 0xff0000)" ( (binary_expression "uVar37 & 0xff0000" identifier & number_literal) )) >> number_literal) | (binary_expression "(uVar37 & 0xff00) << 8" (parenthesized_expression "(uVar37 & 0xff00)" ( (binary_expression "uVar37 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar37 << 0x18" identifier << number_literal)) )) >> number_literal)) ;) (expression_statement "pGVar32 = (General_options *)(ulong)uVar37;" (assignment_expression "pGVar32 = (General_options *)(ulong)uVar37" identifier = (cast_expression "(General_options *)(ulong)uVar37" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(ulong)uVar37" ( (type_descriptor "ulong" type_identifier) ) identifier))) ;) (expression_statement "this_00 = pSVar7;" (assignment_expression "this_00 = pSVar7" identifier = identifier) ;) comment (ERROR "bVar14 = gold::" (assignment_expression "bVar14 = gold" identifier = identifier) : :) (expression_statement "Sized_relobj_file<32,_true>::local_has_plt_offset(pSVar7,uVar37);" (comma_expression "Sized_relobj_file<32,_true>::local_has_plt_offset(pSVar7,uVar37)" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_true>::local_has_plt_offset(pSVar7,uVar37)" identifier > (ERROR "::" : :) (call_expression "local_has_plt_offset(pSVar7,uVar37)" identifier (argument_list "(pSVar7,uVar37)" ( identifier , identifier ))))) ;) (if_statement "if (bVar14) {\n                  pOVar10 = this->plt_;\n                  if (pOVar10 == (Output_data_plt_aarch64<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108c5 to 003108c9 has its CatchHandler @ 00310944 */\n                    plt_section((Target_aarch64<32,_true> *)this_00);\n                  }\n                  if (((pOVar10->super_Output_section_data).super_Output_data.field_0x20 & 1) == 0)\n                  {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108a8 to 003108ac has its CatchHandler @ 00310944 */\n                    gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar22 = (pOVar10->super_Output_section_data).super_Output_data.address_;\n                  uVar30 = pOVar10->count_;\n                  pGVar32 = (General_options *)(ulong)uVar37;\n                  iVar19 = (*(pSVar7->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                             _vptr_Object[0x2a])(pSVar7);\n                  symval_1.u_.value = (int)uVar22 + 0x20 + uVar30 * 0x10 + iVar19;\n                }" if (parenthesized_expression "(bVar14)" ( identifier )) (compound_statement "{\n                  pOVar10 = this->plt_;\n                  if (pOVar10 == (Output_data_plt_aarch64<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108c5 to 003108c9 has its CatchHandler @ 00310944 */\n                    plt_section((Target_aarch64<32,_true> *)this_00);\n                  }\n                  if (((pOVar10->super_Output_section_data).super_Output_data.field_0x20 & 1) == 0)\n                  {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108a8 to 003108ac has its CatchHandler @ 00310944 */\n                    gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar22 = (pOVar10->super_Output_section_data).super_Output_data.address_;\n                  uVar30 = pOVar10->count_;\n                  pGVar32 = (General_options *)(ulong)uVar37;\n                  iVar19 = (*(pSVar7->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                             _vptr_Object[0x2a])(pSVar7);\n                  symval_1.u_.value = (int)uVar22 + 0x20 + uVar30 * 0x10 + iVar19;\n                }" { (expression_statement "pOVar10 = this->plt_;" (assignment_expression "pOVar10 = this->plt_" identifier = (field_expression "this->plt_" identifier -> field_identifier)) ;) (if_statement "if (pOVar10 == (Output_data_plt_aarch64<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108c5 to 003108c9 has its CatchHandler @ 00310944 */\n                    plt_section((Target_aarch64<32,_true> *)this_00);\n                  }" if (parenthesized_expression "(pOVar10 == (Output_data_plt_aarch64<32,_true> *)0x0)" ( (binary_expression "pOVar10 == (Output_data_plt_aarch64<32,_true> *)0x0)" identifier == (parenthesized_expression "(Output_data_plt_aarch64<32,_true> *)0x0)" ( (comma_expression "Output_data_plt_aarch64<32,_true> *)0x0" (binary_expression "Output_data_plt_aarch64<32" identifier < number_literal) , (binary_expression "_true> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108c5 to 003108c9 has its CatchHandler @ 00310944 */\n                    plt_section((Target_aarch64<32,_true> *)this_00);\n                  }" { comment comment (expression_statement "plt_section((Target_aarch64<32,_true> *)this_00);" (call_expression "plt_section((Target_aarch64<32,_true> *)this_00)" identifier (argument_list "((Target_aarch64<32,_true> *)this_00)" ( (parenthesized_expression "(Target_aarch64<32,_true> *)this_00)" ( (comma_expression "Target_aarch64<32,_true> *)this_00" (binary_expression "Target_aarch64<32" identifier < number_literal) , (binary_expression "_true> *)this_00" identifier > (pointer_expression "*)this_00" * (ERROR ")" )) identifier))) )) ))) ;) })) (if_statement "if (((pOVar10->super_Output_section_data).super_Output_data.field_0x20 & 1) == 0)\n                  {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108a8 to 003108ac has its CatchHandler @ 00310944 */\n                    gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n                  }" if (parenthesized_expression "(((pOVar10->super_Output_section_data).super_Output_data.field_0x20 & 1) == 0)" ( (binary_expression "((pOVar10->super_Output_section_data).super_Output_data.field_0x20 & 1) == 0" (parenthesized_expression "((pOVar10->super_Output_section_data).super_Output_data.field_0x20 & 1)" ( (binary_expression "(pOVar10->super_Output_section_data).super_Output_data.field_0x20 & 1" (field_expression "(pOVar10->super_Output_section_data).super_Output_data.field_0x20" (field_expression "(pOVar10->super_Output_section_data).super_Output_data" (parenthesized_expression "(pOVar10->super_Output_section_data)" ( (field_expression "pOVar10->super_Output_section_data" identifier -> field_identifier) )) . field_identifier) . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108a8 to 003108ac has its CatchHandler @ 00310944 */\n                    gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n                  }" { comment comment (labeled_statement "gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/output.h",0xc5,"address");" (call_expression "do_gold_unreachable("../../gold/output.h",0xc5,"address")" identifier (argument_list "("../../gold/output.h",0xc5,"address")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""address"" " string_content ") ))) ;)) })) (expression_statement "uVar22 = (pOVar10->super_Output_section_data).super_Output_data.address_;" (assignment_expression "uVar22 = (pOVar10->super_Output_section_data).super_Output_data.address_" identifier = (field_expression "(pOVar10->super_Output_section_data).super_Output_data.address_" (field_expression "(pOVar10->super_Output_section_data).super_Output_data" (parenthesized_expression "(pOVar10->super_Output_section_data)" ( (field_expression "pOVar10->super_Output_section_data" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (expression_statement "uVar30 = pOVar10->count_;" (assignment_expression "uVar30 = pOVar10->count_" identifier = (field_expression "pOVar10->count_" identifier -> field_identifier)) ;) (expression_statement "pGVar32 = (General_options *)(ulong)uVar37;" (assignment_expression "pGVar32 = (General_options *)(ulong)uVar37" identifier = (cast_expression "(General_options *)(ulong)uVar37" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(ulong)uVar37" ( (type_descriptor "ulong" type_identifier) ) identifier))) ;) (expression_statement "iVar19 = (*(pSVar7->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                             _vptr_Object[0x2a])(pSVar7);" (assignment_expression "iVar19 = (*(pSVar7->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                             _vptr_Object[0x2a])(pSVar7)" identifier = (call_expression "(*(pSVar7->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                             _vptr_Object[0x2a])(pSVar7)" (parenthesized_expression "(*(pSVar7->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                             _vptr_Object[0x2a])" ( (pointer_expression "*(pSVar7->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                             _vptr_Object[0x2a]" * (subscript_expression "(pSVar7->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                             _vptr_Object[0x2a]" (field_expression "(pSVar7->super_Sized_relobj<32,_true>).super_Relobj.super_Object.\n                             _vptr_Object" (field_expression "(pSVar7->super_Sized_relobj<32,_true>).super_Relobj.super_Object" (field_expression "(pSVar7->super_Sized_relobj<32,_true>).super_Relobj" (parenthesized_expression "(pSVar7->super_Sized_relobj<32,_true>)" ( (comma_expression "pSVar7->super_Sized_relobj<32,_true" (binary_expression "pSVar7->super_Sized_relobj<32" (field_expression "pSVar7->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) [ number_literal ])) )) (argument_list "(pSVar7)" ( identifier )))) ;) (expression_statement "symval_1.u_.value = (int)uVar22 + 0x20 + uVar30 * 0x10 + iVar19;" (assignment_expression "symval_1.u_.value = (int)uVar22 + 0x20 + uVar30 * 0x10 + iVar19" (field_expression "symval_1.u_.value" (field_expression "symval_1.u_" identifier . field_identifier) . field_identifier) = (binary_expression "(int)uVar22 + 0x20 + uVar30 * 0x10 + iVar19" (binary_expression "(int)uVar22 + 0x20 + uVar30 * 0x10" (binary_expression "(int)uVar22 + 0x20" (cast_expression "(int)uVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) + (binary_expression "uVar30 * 0x10" identifier * number_literal)) + identifier)) ;) })) })) }) (else_clause "else {\n              uVar37 = aarch64_reloc_property_table->table_[0]->reference_flags_;\n              pGVar32 = (General_options *)(ulong)uVar37;\n                    /* try { // try from 003100df to 00310101 has its CatchHandler @ 00310944 */\n              bVar14 = gold::Symbol::use_plt_offset((Symbol *)pGVar21,uVar37);\n              if (bVar14) {\n                if (this->plt_ == (Output_data_plt_aarch64<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310800 to 00310804 has its CatchHandler @ 00310944 */\n                  plt_section((Target_aarch64<32,_true> *)0x0);\n                }\n                pGVar32 = pGVar21;\n                uVar22 = Output_data_plt_aarch64<32,_true>::address_for_global\n                                   (this->plt_,(Symbol *)pGVar21);\n                symval_1.u_.value = (Value)uVar22;\n              }\n            }" else (compound_statement "{\n              uVar37 = aarch64_reloc_property_table->table_[0]->reference_flags_;\n              pGVar32 = (General_options *)(ulong)uVar37;\n                    /* try { // try from 003100df to 00310101 has its CatchHandler @ 00310944 */\n              bVar14 = gold::Symbol::use_plt_offset((Symbol *)pGVar21,uVar37);\n              if (bVar14) {\n                if (this->plt_ == (Output_data_plt_aarch64<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310800 to 00310804 has its CatchHandler @ 00310944 */\n                  plt_section((Target_aarch64<32,_true> *)0x0);\n                }\n                pGVar32 = pGVar21;\n                uVar22 = Output_data_plt_aarch64<32,_true>::address_for_global\n                                   (this->plt_,(Symbol *)pGVar21);\n                symval_1.u_.value = (Value)uVar22;\n              }\n            }" { (expression_statement "uVar37 = aarch64_reloc_property_table->table_[0]->reference_flags_;" (assignment_expression "uVar37 = aarch64_reloc_property_table->table_[0]->reference_flags_" identifier = (field_expression "aarch64_reloc_property_table->table_[0]->reference_flags_" (subscript_expression "aarch64_reloc_property_table->table_[0]" (field_expression "aarch64_reloc_property_table->table_" identifier -> field_identifier) [ number_literal ]) -> field_identifier)) ;) (expression_statement "pGVar32 = (General_options *)(ulong)uVar37;" (assignment_expression "pGVar32 = (General_options *)(ulong)uVar37" identifier = (cast_expression "(General_options *)(ulong)uVar37" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(ulong)uVar37" ( (type_descriptor "ulong" type_identifier) ) identifier))) ;) comment (ERROR "bVar14 = gold::" (assignment_expression "bVar14 = gold" identifier = identifier) : :) (labeled_statement "Symbol::use_plt_offset((Symbol *)pGVar21,uVar37);" statement_identifier : (ERROR ":" :) (expression_statement "use_plt_offset((Symbol *)pGVar21,uVar37);" (call_expression "use_plt_offset((Symbol *)pGVar21,uVar37)" identifier (argument_list "((Symbol *)pGVar21,uVar37)" ( (cast_expression "(Symbol *)pGVar21" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;)) (if_statement "if (bVar14) {\n                if (this->plt_ == (Output_data_plt_aarch64<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310800 to 00310804 has its CatchHandler @ 00310944 */\n                  plt_section((Target_aarch64<32,_true> *)0x0);\n                }\n                pGVar32 = pGVar21;\n                uVar22 = Output_data_plt_aarch64<32,_true>::address_for_global\n                                   (this->plt_,(Symbol *)pGVar21);\n                symval_1.u_.value = (Value)uVar22;\n              }" if (parenthesized_expression "(bVar14)" ( identifier )) (compound_statement "{\n                if (this->plt_ == (Output_data_plt_aarch64<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310800 to 00310804 has its CatchHandler @ 00310944 */\n                  plt_section((Target_aarch64<32,_true> *)0x0);\n                }\n                pGVar32 = pGVar21;\n                uVar22 = Output_data_plt_aarch64<32,_true>::address_for_global\n                                   (this->plt_,(Symbol *)pGVar21);\n                symval_1.u_.value = (Value)uVar22;\n              }" { (if_statement "if (this->plt_ == (Output_data_plt_aarch64<32,_true> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310800 to 00310804 has its CatchHandler @ 00310944 */\n                  plt_section((Target_aarch64<32,_true> *)0x0);\n                }" if (parenthesized_expression "(this->plt_ == (Output_data_plt_aarch64<32,_true> *)0x0)" ( (binary_expression "this->plt_ == (Output_data_plt_aarch64<32,_true> *)0x0)" (field_expression "this->plt_" identifier -> field_identifier) == (parenthesized_expression "(Output_data_plt_aarch64<32,_true> *)0x0)" ( (comma_expression "Output_data_plt_aarch64<32,_true> *)0x0" (binary_expression "Output_data_plt_aarch64<32" identifier < number_literal) , (binary_expression "_true> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310800 to 00310804 has its CatchHandler @ 00310944 */\n                  plt_section((Target_aarch64<32,_true> *)0x0);\n                }" { comment comment (expression_statement "plt_section((Target_aarch64<32,_true> *)0x0);" (call_expression "plt_section((Target_aarch64<32,_true> *)0x0)" identifier (argument_list "((Target_aarch64<32,_true> *)0x0)" ( (parenthesized_expression "(Target_aarch64<32,_true> *)0x0)" ( (comma_expression "Target_aarch64<32,_true> *)0x0" (binary_expression "Target_aarch64<32" identifier < number_literal) , (binary_expression "_true> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) )) ))) ;) })) (expression_statement "pGVar32 = pGVar21;" (assignment_expression "pGVar32 = pGVar21" identifier = identifier) ;) (expression_statement "uVar22 = Output_data_plt_aarch64<32,_true>::address_for_global\n                                   (this->plt_,(Symbol *)pGVar21);" (comma_expression "uVar22 = Output_data_plt_aarch64<32,_true>::address_for_global\n                                   (this->plt_,(Symbol *)pGVar21)" (assignment_expression "uVar22 = Output_data_plt_aarch64<32" identifier = (binary_expression "Output_data_plt_aarch64<32" identifier < number_literal)) , (binary_expression "_true>::address_for_global\n                                   (this->plt_,(Symbol *)pGVar21)" identifier > (ERROR "::" : :) (call_expression "address_for_global\n                                   (this->plt_,(Symbol *)pGVar21)" identifier (argument_list "(this->plt_,(Symbol *)pGVar21)" ( (field_expression "this->plt_" identifier -> field_identifier) , (cast_expression "(Symbol *)pGVar21" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))))) ;) (expression_statement "symval_1.u_.value = (Value)uVar22;" (assignment_expression "symval_1.u_.value = (Value)uVar22" (field_expression "symval_1.u_.value" (field_expression "symval_1.u_" identifier . field_identifier) . field_identifier) = (cast_expression "(Value)uVar22" ( (type_descriptor "Value" type_identifier) ) identifier)) ;) })) }))) (labeled_statement "gold::Symbol_value<32>::~Symbol_value(&symval_1,(int)pGVar32);" statement_identifier (ERROR "::Symbol_value<32>:" : : (binary_expression "Symbol_value<32" identifier < number_literal) > :) : (expression_statement "~Symbol_value(&symval_1,(int)pGVar32);" (unary_expression "~Symbol_value(&symval_1,(int)pGVar32)" ~ (call_expression "Symbol_value(&symval_1,(int)pGVar32)" identifier (argument_list "(&symval_1,(int)pGVar32)" ( (pointer_expression "&symval_1" & identifier) , (cast_expression "(int)pGVar32" ( (type_descriptor "int" primitive_type) ) identifier) )))) ;)) }))) (expression_statement "iVar19 = (int)pGVar32;" (assignment_expression "iVar19 = (int)pGVar32" identifier = (cast_expression "(int)pGVar32" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (pGVar21 != (General_options *)0x0) {\n            bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                      helpstring + 2);\n            bVar15 = bVar29 & 7;\n            if ((bVar29 & 7) == 0) {\n              if ((*(int *)&(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                            field_2 != 0) ||\n                 (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                  0x20000000) == 0)) {\n                pcVar8 = *(code **)(*(long *)(pGVar21->help_initializer_).super_Struct_special.\n                                             option.longname._M_string_length + 0x28);\n                if (pcVar8 != gold::Object::do_pluginobj) {\n                  lVar24 = (*pcVar8)();\n                  iVar19 = (int)pGVar32;\n                  if (lVar24 != 0) {\n                    bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 2);\n                    bVar15 = bVar29 & 7;\n                    if ((bVar29 & 7) == 0) {\n                      uVar37 = *(uint *)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                         longname.field_2;\n                      pGVar32 = (General_options *)(ulong)uVar37;\n                      bVar1 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                               option.helpstring + 3);\n                      if ((uVar37 == 0) && ((bVar1 & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)bVar1 < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar15 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 3)) goto LAB_00310305;\n                    bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 1);\n                    if ((bVar15 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }\nLAB_0031015a:\n                bVar1 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                         helpstring + 1);\n                bVar29 = bVar29 & 7;\n                bVar15 = bVar1 & 3;\n                if ((bVar1 & 3) == 0) goto LAB_003101c0;\nLAB_00310166:\n                if (((*(int *)&(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                               field_2 == 0) &&\n                    (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                     0x20000000) != 0)) &&\n                   ((*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring\n                     >> 4 != 2 &&\n                    (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                     0x200000000) == 0)))) {\nLAB_00310293:\n                  if (gold::parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108dd to 003108e1 has its CatchHandler @ 00310922 */\n                    gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if ((gold::parameters->options_->weak_unresolved_symbols_).value != false) {\n                    if (bVar29 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)((pGVar21->help_initializer_).super_Struct_special.option.longname.\n                                 _M_string_length + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }\n                if (bVar15 == 2) {\n                  uVar23 = gettext("hidden");\n                }\n                else if (bVar15 < 3) {\n                  if (bVar15 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    gold::do_gold_unreachable("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar23 = gettext("internal");\n                }\n                else {\n                  uVar23 = gettext("protected");\n                }\n                pp_Var2 = (pGVar21->help_initializer_).super_Struct_special.super_Struct_var.\n                          _vptr_Struct_var;\n                pcVar20 = (char *)gettext("%s symbol \'%s\' is not defined locally");\n                    /* try { // try from 003101b4 to 0031042c has its CatchHandler @ 00310922 */\n                gold::gold_error(pcVar20,uVar23,pp_Var2);\n                iVar19 = (int)uVar23;\n                goto LAB_003101c0;\n              }\nLAB_0031020c:\n              if ((*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring >>\n                   4 == 2) ||\n                 (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                  0x200000000) != 0)) {\nLAB_00310438:\n                iVar19 = (int)pGVar32;\n                bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 1) & 3;\nLAB_0031043f:\n                if (bVar15 == 0) goto LAB_003101c0;\n                bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 2) & 7;\n                if (bVar29 != 0) goto LAB_00310270;\n                goto LAB_00310166;\n              }\n              pGVar32 = gold::parameters->options_;\n              if (pGVar32 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310878 to 0031087c has its CatchHandler @ 00310922 */\n                gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((pGVar32->weak_unresolved_symbols_).value != false) goto LAB_00310438;\n              if (*(char *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                   helpstring + 3) < '\0') {\n                if (bVar15 != 0) goto LAB_00310260;\nLAB_003105b8:\n                iVar19 = (int)pGVar32;\n                pcVar8 = *(code **)(*(long *)(pGVar21->help_initializer_).super_Struct_special.\n                                             option.longname._M_string_length + 0x28);\n                if (pcVar8 == gold::Object::do_pluginobj) goto LAB_0031015a;\n                    /* try { // try from 003105cc to 003105cd has its CatchHandler @ 00310922 */\n                lVar24 = (*pcVar8)();\n                if (lVar24 == 0) goto LAB_00310438;\n              }\nLAB_00310305:\n              iVar19 = (int)pGVar32;\n              if (gold::parameters->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310818 to 0031084c has its CatchHandler @ 00310922 */\n                gold::do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n              }\n              p_Var3 = gold::parameters->target_->_vptr_Target[7];\n              if (p_Var3 != gold::Target::do_is_defined_by_abi) {\n                pGVar32 = pGVar21;\n                iVar18 = (*p_Var3)();\n                iVar19 = (int)pGVar32;\n                if ((char)iVar18 != '\0') goto LAB_00310438;\n              }\n              pGVar9 = gold::parameters->options_;\n              if (pGVar9 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              pGVar34 = (General_options *)(pGVar9->unresolved_symbols_).value;\n              bVar14 = false;\n              bVar40 = pGVar34 == (General_options *)0x0;\n              if (bVar40) {\n                bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 1) & 3;\nLAB_003103c9:\n                if ((bVar15 == 2) ||\n                   (((pGVar9->shared_).value == false || ((pGVar9->defs_).value != false))))\n                goto LAB_003103e1;\n                goto LAB_0031043f;\n              }\n              lVar24 = 0xb;\n              pGVar33 = pGVar34;\n              pbVar36 = (byte *)"ignore-all";\n              do {\n                pGVar32 = pGVar33;\n                if (lVar24 == 0) break;\n                lVar24 = lVar24 + -1;\n                pGVar32 = (General_options *)((long)pGVar33 + (ulong)bVar41 * -2 + 1);\n                bVar29 = *(byte *)&(pGVar33->help_initializer_).super_Struct_special.\n                                   super_Struct_var._vptr_Struct_var;\n                bVar14 = bVar29 < *pbVar36;\n                bVar40 = bVar29 == *pbVar36;\n                pGVar33 = pGVar32;\n                pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n              } while (bVar40);\n              bVar39 = false;\n              bVar14 = (!bVar14 && !bVar40) == bVar14;\n              if (bVar14) goto LAB_00310438;\n              lVar24 = 0xb;\n              pGVar32 = pGVar34;\n              pbVar36 = (byte *)"report-all";\n              do {\n                if (lVar24 == 0) break;\n                lVar24 = lVar24 + -1;\n                bVar29 = *(byte *)&(pGVar32->help_initializer_).super_Struct_special.\n                                   super_Struct_var._vptr_Struct_var;\n                bVar39 = bVar29 < *pbVar36;\n                bVar14 = bVar29 == *pbVar36;\n                pGVar32 = (General_options *)((long)pGVar32 + (ulong)bVar41 * -2 + 1);\n                pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n              } while (bVar14);\n              bVar40 = false;\n              bVar14 = (!bVar39 && !bVar14) == bVar39;\n              if (!bVar14) {\n                lVar24 = 0x17;\n                pGVar32 = pGVar34;\n                pbVar36 = (byte *)"ignore-in-object-files";\n                do {\n                  pGVar33 = pGVar32;\n                  if (lVar24 == 0) break;\n                  lVar24 = lVar24 + -1;\n                  pGVar33 = (General_options *)((long)pGVar32 + (ulong)bVar41 * -2 + 1);\n                  bVar29 = *(byte *)&(pGVar32->help_initializer_).super_Struct_special.\n                                     super_Struct_var._vptr_Struct_var;\n                  bVar40 = bVar29 < *pbVar36;\n                  bVar14 = bVar29 == *pbVar36;\n                  pGVar32 = pGVar33;\n                  pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                } while (bVar14);\n                iVar19 = (int)pGVar33;\n                bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 1) & 3;\n                bVar14 = (!bVar40 && !bVar14) == bVar40;\n                if ((!bVar14) ||\n                   (bVar14 = ((ulong)(pGVar21->help_initializer_).super_Struct_special.option.\n                                     helpstring & 0x1000000) == 0, !bVar14)) {\n                  bVar40 = false;\n                  lVar24 = 0x16;\n                  pbVar36 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    pGVar32 = pGVar34;\n                    if (lVar24 == 0) break;\n                    lVar24 = lVar24 + -1;\n                    pGVar32 = (General_options *)((long)pGVar34 + (ulong)bVar41 * -2 + 1);\n                    bVar29 = *(byte *)&(pGVar34->help_initializer_).super_Struct_special.\n                                       super_Struct_var._vptr_Struct_var;\n                    bVar40 = bVar29 < *pbVar36;\n                    bVar14 = bVar29 == *pbVar36;\n                    pGVar34 = pGVar32;\n                    pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                  } while (bVar14);\n                  iVar19 = (int)pGVar32;\n                  if (((!bVar40 && !bVar14) != bVar40) ||\n                     (*(char *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                       helpstring + 2) < '\0')) goto LAB_003103c9;\n                }\n                goto LAB_0031043f;\n              }\nLAB_003103e1:\n              pRVar35 = relinfo;\n              gold::gold_undefined_symbol_at_location<32,_true>\n                        ((Symbol *)pGVar21,relinfo,(size_t)local_148,local_140);\n              iVar19 = (int)pRVar35;\n              bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                        helpstring + 3);\n            }\n            else {\n              if (bVar15 == 4) goto LAB_0031020c;\nLAB_00310260:\n              iVar19 = (int)pGVar32;\n              bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                        helpstring + 1);\n              if ((bVar15 & 3) != 0) {\nLAB_0031026d:\n                bVar15 = bVar15 & 3;\n                bVar29 = bVar29 & 7;\nLAB_00310270:\n                if (((bVar29 == 4) &&\n                    (*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring\n                     >> 4 != 2)) &&\n                   (bVar29 = 4,\n                   ((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                   0x200000000) == 0)) goto LAB_00310293;\n              }\nLAB_003101c0:\n              bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                        helpstring + 3);\n            }\n            if ((bVar29 & 4) != 0) {\n              gold::Warnings::issue_warning<32,_true>\n                        (&relinfo->symtab->warnings_,(Symbol *)pGVar21,relinfo,(size_t)local_148,\n                         local_140);\n              iVar19 = (int)pGVar21;\n            }\n          }" if (parenthesized_expression "(pGVar21 != (General_options *)0x0)" ( (binary_expression "pGVar21 != (General_options *)0x0" identifier != (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                      helpstring + 2);\n            bVar15 = bVar29 & 7;\n            if ((bVar29 & 7) == 0) {\n              if ((*(int *)&(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                            field_2 != 0) ||\n                 (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                  0x20000000) == 0)) {\n                pcVar8 = *(code **)(*(long *)(pGVar21->help_initializer_).super_Struct_special.\n                                             option.longname._M_string_length + 0x28);\n                if (pcVar8 != gold::Object::do_pluginobj) {\n                  lVar24 = (*pcVar8)();\n                  iVar19 = (int)pGVar32;\n                  if (lVar24 != 0) {\n                    bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 2);\n                    bVar15 = bVar29 & 7;\n                    if ((bVar29 & 7) == 0) {\n                      uVar37 = *(uint *)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                         longname.field_2;\n                      pGVar32 = (General_options *)(ulong)uVar37;\n                      bVar1 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                               option.helpstring + 3);\n                      if ((uVar37 == 0) && ((bVar1 & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)bVar1 < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar15 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 3)) goto LAB_00310305;\n                    bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 1);\n                    if ((bVar15 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }\nLAB_0031015a:\n                bVar1 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                         helpstring + 1);\n                bVar29 = bVar29 & 7;\n                bVar15 = bVar1 & 3;\n                if ((bVar1 & 3) == 0) goto LAB_003101c0;\nLAB_00310166:\n                if (((*(int *)&(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                               field_2 == 0) &&\n                    (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                     0x20000000) != 0)) &&\n                   ((*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring\n                     >> 4 != 2 &&\n                    (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                     0x200000000) == 0)))) {\nLAB_00310293:\n                  if (gold::parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108dd to 003108e1 has its CatchHandler @ 00310922 */\n                    gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if ((gold::parameters->options_->weak_unresolved_symbols_).value != false) {\n                    if (bVar29 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)((pGVar21->help_initializer_).super_Struct_special.option.longname.\n                                 _M_string_length + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }\n                if (bVar15 == 2) {\n                  uVar23 = gettext("hidden");\n                }\n                else if (bVar15 < 3) {\n                  if (bVar15 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    gold::do_gold_unreachable("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar23 = gettext("internal");\n                }\n                else {\n                  uVar23 = gettext("protected");\n                }\n                pp_Var2 = (pGVar21->help_initializer_).super_Struct_special.super_Struct_var.\n                          _vptr_Struct_var;\n                pcVar20 = (char *)gettext("%s symbol \'%s\' is not defined locally");\n                    /* try { // try from 003101b4 to 0031042c has its CatchHandler @ 00310922 */\n                gold::gold_error(pcVar20,uVar23,pp_Var2);\n                iVar19 = (int)uVar23;\n                goto LAB_003101c0;\n              }\nLAB_0031020c:\n              if ((*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring >>\n                   4 == 2) ||\n                 (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                  0x200000000) != 0)) {\nLAB_00310438:\n                iVar19 = (int)pGVar32;\n                bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 1) & 3;\nLAB_0031043f:\n                if (bVar15 == 0) goto LAB_003101c0;\n                bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 2) & 7;\n                if (bVar29 != 0) goto LAB_00310270;\n                goto LAB_00310166;\n              }\n              pGVar32 = gold::parameters->options_;\n              if (pGVar32 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310878 to 0031087c has its CatchHandler @ 00310922 */\n                gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((pGVar32->weak_unresolved_symbols_).value != false) goto LAB_00310438;\n              if (*(char *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                   helpstring + 3) < '\0') {\n                if (bVar15 != 0) goto LAB_00310260;\nLAB_003105b8:\n                iVar19 = (int)pGVar32;\n                pcVar8 = *(code **)(*(long *)(pGVar21->help_initializer_).super_Struct_special.\n                                             option.longname._M_string_length + 0x28);\n                if (pcVar8 == gold::Object::do_pluginobj) goto LAB_0031015a;\n                    /* try { // try from 003105cc to 003105cd has its CatchHandler @ 00310922 */\n                lVar24 = (*pcVar8)();\n                if (lVar24 == 0) goto LAB_00310438;\n              }\nLAB_00310305:\n              iVar19 = (int)pGVar32;\n              if (gold::parameters->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310818 to 0031084c has its CatchHandler @ 00310922 */\n                gold::do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n              }\n              p_Var3 = gold::parameters->target_->_vptr_Target[7];\n              if (p_Var3 != gold::Target::do_is_defined_by_abi) {\n                pGVar32 = pGVar21;\n                iVar18 = (*p_Var3)();\n                iVar19 = (int)pGVar32;\n                if ((char)iVar18 != '\0') goto LAB_00310438;\n              }\n              pGVar9 = gold::parameters->options_;\n              if (pGVar9 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              pGVar34 = (General_options *)(pGVar9->unresolved_symbols_).value;\n              bVar14 = false;\n              bVar40 = pGVar34 == (General_options *)0x0;\n              if (bVar40) {\n                bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 1) & 3;\nLAB_003103c9:\n                if ((bVar15 == 2) ||\n                   (((pGVar9->shared_).value == false || ((pGVar9->defs_).value != false))))\n                goto LAB_003103e1;\n                goto LAB_0031043f;\n              }\n              lVar24 = 0xb;\n              pGVar33 = pGVar34;\n              pbVar36 = (byte *)"ignore-all";\n              do {\n                pGVar32 = pGVar33;\n                if (lVar24 == 0) break;\n                lVar24 = lVar24 + -1;\n                pGVar32 = (General_options *)((long)pGVar33 + (ulong)bVar41 * -2 + 1);\n                bVar29 = *(byte *)&(pGVar33->help_initializer_).super_Struct_special.\n                                   super_Struct_var._vptr_Struct_var;\n                bVar14 = bVar29 < *pbVar36;\n                bVar40 = bVar29 == *pbVar36;\n                pGVar33 = pGVar32;\n                pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n              } while (bVar40);\n              bVar39 = false;\n              bVar14 = (!bVar14 && !bVar40) == bVar14;\n              if (bVar14) goto LAB_00310438;\n              lVar24 = 0xb;\n              pGVar32 = pGVar34;\n              pbVar36 = (byte *)"report-all";\n              do {\n                if (lVar24 == 0) break;\n                lVar24 = lVar24 + -1;\n                bVar29 = *(byte *)&(pGVar32->help_initializer_).super_Struct_special.\n                                   super_Struct_var._vptr_Struct_var;\n                bVar39 = bVar29 < *pbVar36;\n                bVar14 = bVar29 == *pbVar36;\n                pGVar32 = (General_options *)((long)pGVar32 + (ulong)bVar41 * -2 + 1);\n                pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n              } while (bVar14);\n              bVar40 = false;\n              bVar14 = (!bVar39 && !bVar14) == bVar39;\n              if (!bVar14) {\n                lVar24 = 0x17;\n                pGVar32 = pGVar34;\n                pbVar36 = (byte *)"ignore-in-object-files";\n                do {\n                  pGVar33 = pGVar32;\n                  if (lVar24 == 0) break;\n                  lVar24 = lVar24 + -1;\n                  pGVar33 = (General_options *)((long)pGVar32 + (ulong)bVar41 * -2 + 1);\n                  bVar29 = *(byte *)&(pGVar32->help_initializer_).super_Struct_special.\n                                     super_Struct_var._vptr_Struct_var;\n                  bVar40 = bVar29 < *pbVar36;\n                  bVar14 = bVar29 == *pbVar36;\n                  pGVar32 = pGVar33;\n                  pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                } while (bVar14);\n                iVar19 = (int)pGVar33;\n                bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 1) & 3;\n                bVar14 = (!bVar40 && !bVar14) == bVar40;\n                if ((!bVar14) ||\n                   (bVar14 = ((ulong)(pGVar21->help_initializer_).super_Struct_special.option.\n                                     helpstring & 0x1000000) == 0, !bVar14)) {\n                  bVar40 = false;\n                  lVar24 = 0x16;\n                  pbVar36 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    pGVar32 = pGVar34;\n                    if (lVar24 == 0) break;\n                    lVar24 = lVar24 + -1;\n                    pGVar32 = (General_options *)((long)pGVar34 + (ulong)bVar41 * -2 + 1);\n                    bVar29 = *(byte *)&(pGVar34->help_initializer_).super_Struct_special.\n                                       super_Struct_var._vptr_Struct_var;\n                    bVar40 = bVar29 < *pbVar36;\n                    bVar14 = bVar29 == *pbVar36;\n                    pGVar34 = pGVar32;\n                    pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                  } while (bVar14);\n                  iVar19 = (int)pGVar32;\n                  if (((!bVar40 && !bVar14) != bVar40) ||\n                     (*(char *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                       helpstring + 2) < '\0')) goto LAB_003103c9;\n                }\n                goto LAB_0031043f;\n              }\nLAB_003103e1:\n              pRVar35 = relinfo;\n              gold::gold_undefined_symbol_at_location<32,_true>\n                        ((Symbol *)pGVar21,relinfo,(size_t)local_148,local_140);\n              iVar19 = (int)pRVar35;\n              bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                        helpstring + 3);\n            }\n            else {\n              if (bVar15 == 4) goto LAB_0031020c;\nLAB_00310260:\n              iVar19 = (int)pGVar32;\n              bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                        helpstring + 1);\n              if ((bVar15 & 3) != 0) {\nLAB_0031026d:\n                bVar15 = bVar15 & 3;\n                bVar29 = bVar29 & 7;\nLAB_00310270:\n                if (((bVar29 == 4) &&\n                    (*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring\n                     >> 4 != 2)) &&\n                   (bVar29 = 4,\n                   ((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                   0x200000000) == 0)) goto LAB_00310293;\n              }\nLAB_003101c0:\n              bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                        helpstring + 3);\n            }\n            if ((bVar29 & 4) != 0) {\n              gold::Warnings::issue_warning<32,_true>\n                        (&relinfo->symtab->warnings_,(Symbol *)pGVar21,relinfo,(size_t)local_148,\n                         local_140);\n              iVar19 = (int)pGVar21;\n            }\n          }" { (expression_statement "bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                      helpstring + 2);" (assignment_expression "bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                      helpstring + 2)" identifier = (pointer_expression "*(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                      helpstring + 2)" * (cast_expression "(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                      helpstring + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                      helpstring + 2)" ( (binary_expression "(long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                      helpstring + 2" (cast_expression "(long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                      helpstring" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&(pGVar21->help_initializer_).super_Struct_special.option.\n                                      helpstring" & (field_expression "(pGVar21->help_initializer_).super_Struct_special.option.\n                                      helpstring" (field_expression "(pGVar21->help_initializer_).super_Struct_special.option" (field_expression "(pGVar21->help_initializer_).super_Struct_special" (parenthesized_expression "(pGVar21->help_initializer_)" ( (field_expression "pGVar21->help_initializer_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier))) + number_literal) ))))) ;) (expression_statement "bVar15 = bVar29 & 7;" (assignment_expression "bVar15 = bVar29 & 7" identifier = (binary_expression "bVar29 & 7" identifier & number_literal)) ;) (if_statement "if ((bVar29 & 7) == 0) {\n              if ((*(int *)&(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                            field_2 != 0) ||\n                 (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                  0x20000000) == 0)) {\n                pcVar8 = *(code **)(*(long *)(pGVar21->help_initializer_).super_Struct_special.\n                                             option.longname._M_string_length + 0x28);\n                if (pcVar8 != gold::Object::do_pluginobj) {\n                  lVar24 = (*pcVar8)();\n                  iVar19 = (int)pGVar32;\n                  if (lVar24 != 0) {\n                    bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 2);\n                    bVar15 = bVar29 & 7;\n                    if ((bVar29 & 7) == 0) {\n                      uVar37 = *(uint *)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                         longname.field_2;\n                      pGVar32 = (General_options *)(ulong)uVar37;\n                      bVar1 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                               option.helpstring + 3);\n                      if ((uVar37 == 0) && ((bVar1 & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)bVar1 < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar15 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 3)) goto LAB_00310305;\n                    bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 1);\n                    if ((bVar15 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }\nLAB_0031015a:\n                bVar1 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                         helpstring + 1);\n                bVar29 = bVar29 & 7;\n                bVar15 = bVar1 & 3;\n                if ((bVar1 & 3) == 0) goto LAB_003101c0;\nLAB_00310166:\n                if (((*(int *)&(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                               field_2 == 0) &&\n                    (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                     0x20000000) != 0)) &&\n                   ((*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring\n                     >> 4 != 2 &&\n                    (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                     0x200000000) == 0)))) {\nLAB_00310293:\n                  if (gold::parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108dd to 003108e1 has its CatchHandler @ 00310922 */\n                    gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if ((gold::parameters->options_->weak_unresolved_symbols_).value != false) {\n                    if (bVar29 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)((pGVar21->help_initializer_).super_Struct_special.option.longname.\n                                 _M_string_length + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }\n                if (bVar15 == 2) {\n                  uVar23 = gettext("hidden");\n                }\n                else if (bVar15 < 3) {\n                  if (bVar15 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    gold::do_gold_unreachable("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar23 = gettext("internal");\n                }\n                else {\n                  uVar23 = gettext("protected");\n                }\n                pp_Var2 = (pGVar21->help_initializer_).super_Struct_special.super_Struct_var.\n                          _vptr_Struct_var;\n                pcVar20 = (char *)gettext("%s symbol \'%s\' is not defined locally");\n                    /* try { // try from 003101b4 to 0031042c has its CatchHandler @ 00310922 */\n                gold::gold_error(pcVar20,uVar23,pp_Var2);\n                iVar19 = (int)uVar23;\n                goto LAB_003101c0;\n              }\nLAB_0031020c:\n              if ((*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring >>\n                   4 == 2) ||\n                 (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                  0x200000000) != 0)) {\nLAB_00310438:\n                iVar19 = (int)pGVar32;\n                bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 1) & 3;\nLAB_0031043f:\n                if (bVar15 == 0) goto LAB_003101c0;\n                bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 2) & 7;\n                if (bVar29 != 0) goto LAB_00310270;\n                goto LAB_00310166;\n              }\n              pGVar32 = gold::parameters->options_;\n              if (pGVar32 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310878 to 0031087c has its CatchHandler @ 00310922 */\n                gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((pGVar32->weak_unresolved_symbols_).value != false) goto LAB_00310438;\n              if (*(char *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                   helpstring + 3) < '\0') {\n                if (bVar15 != 0) goto LAB_00310260;\nLAB_003105b8:\n                iVar19 = (int)pGVar32;\n                pcVar8 = *(code **)(*(long *)(pGVar21->help_initializer_).super_Struct_special.\n                                             option.longname._M_string_length + 0x28);\n                if (pcVar8 == gold::Object::do_pluginobj) goto LAB_0031015a;\n                    /* try { // try from 003105cc to 003105cd has its CatchHandler @ 00310922 */\n                lVar24 = (*pcVar8)();\n                if (lVar24 == 0) goto LAB_00310438;\n              }\nLAB_00310305:\n              iVar19 = (int)pGVar32;\n              if (gold::parameters->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310818 to 0031084c has its CatchHandler @ 00310922 */\n                gold::do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n              }\n              p_Var3 = gold::parameters->target_->_vptr_Target[7];\n              if (p_Var3 != gold::Target::do_is_defined_by_abi) {\n                pGVar32 = pGVar21;\n                iVar18 = (*p_Var3)();\n                iVar19 = (int)pGVar32;\n                if ((char)iVar18 != '\0') goto LAB_00310438;\n              }\n              pGVar9 = gold::parameters->options_;\n              if (pGVar9 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              pGVar34 = (General_options *)(pGVar9->unresolved_symbols_).value;\n              bVar14 = false;\n              bVar40 = pGVar34 == (General_options *)0x0;\n              if (bVar40) {\n                bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 1) & 3;\nLAB_003103c9:\n                if ((bVar15 == 2) ||\n                   (((pGVar9->shared_).value == false || ((pGVar9->defs_).value != false))))\n                goto LAB_003103e1;\n                goto LAB_0031043f;\n              }\n              lVar24 = 0xb;\n              pGVar33 = pGVar34;\n              pbVar36 = (byte *)"ignore-all";\n              do {\n                pGVar32 = pGVar33;\n                if (lVar24 == 0) break;\n                lVar24 = lVar24 + -1;\n                pGVar32 = (General_options *)((long)pGVar33 + (ulong)bVar41 * -2 + 1);\n                bVar29 = *(byte *)&(pGVar33->help_initializer_).super_Struct_special.\n                                   super_Struct_var._vptr_Struct_var;\n                bVar14 = bVar29 < *pbVar36;\n                bVar40 = bVar29 == *pbVar36;\n                pGVar33 = pGVar32;\n                pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n              } while (bVar40);\n              bVar39 = false;\n              bVar14 = (!bVar14 && !bVar40) == bVar14;\n              if (bVar14) goto LAB_00310438;\n              lVar24 = 0xb;\n              pGVar32 = pGVar34;\n              pbVar36 = (byte *)"report-all";\n              do {\n                if (lVar24 == 0) break;\n                lVar24 = lVar24 + -1;\n                bVar29 = *(byte *)&(pGVar32->help_initializer_).super_Struct_special.\n                                   super_Struct_var._vptr_Struct_var;\n                bVar39 = bVar29 < *pbVar36;\n                bVar14 = bVar29 == *pbVar36;\n                pGVar32 = (General_options *)((long)pGVar32 + (ulong)bVar41 * -2 + 1);\n                pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n              } while (bVar14);\n              bVar40 = false;\n              bVar14 = (!bVar39 && !bVar14) == bVar39;\n              if (!bVar14) {\n                lVar24 = 0x17;\n                pGVar32 = pGVar34;\n                pbVar36 = (byte *)"ignore-in-object-files";\n                do {\n                  pGVar33 = pGVar32;\n                  if (lVar24 == 0) break;\n                  lVar24 = lVar24 + -1;\n                  pGVar33 = (General_options *)((long)pGVar32 + (ulong)bVar41 * -2 + 1);\n                  bVar29 = *(byte *)&(pGVar32->help_initializer_).super_Struct_special.\n                                     super_Struct_var._vptr_Struct_var;\n                  bVar40 = bVar29 < *pbVar36;\n                  bVar14 = bVar29 == *pbVar36;\n                  pGVar32 = pGVar33;\n                  pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                } while (bVar14);\n                iVar19 = (int)pGVar33;\n                bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 1) & 3;\n                bVar14 = (!bVar40 && !bVar14) == bVar40;\n                if ((!bVar14) ||\n                   (bVar14 = ((ulong)(pGVar21->help_initializer_).super_Struct_special.option.\n                                     helpstring & 0x1000000) == 0, !bVar14)) {\n                  bVar40 = false;\n                  lVar24 = 0x16;\n                  pbVar36 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    pGVar32 = pGVar34;\n                    if (lVar24 == 0) break;\n                    lVar24 = lVar24 + -1;\n                    pGVar32 = (General_options *)((long)pGVar34 + (ulong)bVar41 * -2 + 1);\n                    bVar29 = *(byte *)&(pGVar34->help_initializer_).super_Struct_special.\n                                       super_Struct_var._vptr_Struct_var;\n                    bVar40 = bVar29 < *pbVar36;\n                    bVar14 = bVar29 == *pbVar36;\n                    pGVar34 = pGVar32;\n                    pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                  } while (bVar14);\n                  iVar19 = (int)pGVar32;\n                  if (((!bVar40 && !bVar14) != bVar40) ||\n                     (*(char *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                       helpstring + 2) < '\0')) goto LAB_003103c9;\n                }\n                goto LAB_0031043f;\n              }\nLAB_003103e1:\n              pRVar35 = relinfo;\n              gold::gold_undefined_symbol_at_location<32,_true>\n                        ((Symbol *)pGVar21,relinfo,(size_t)local_148,local_140);\n              iVar19 = (int)pRVar35;\n              bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                        helpstring + 3);\n            }\n            else {\n              if (bVar15 == 4) goto LAB_0031020c;\nLAB_00310260:\n              iVar19 = (int)pGVar32;\n              bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                        helpstring + 1);\n              if ((bVar15 & 3) != 0) {\nLAB_0031026d:\n                bVar15 = bVar15 & 3;\n                bVar29 = bVar29 & 7;\nLAB_00310270:\n                if (((bVar29 == 4) &&\n                    (*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring\n                     >> 4 != 2)) &&\n                   (bVar29 = 4,\n                   ((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                   0x200000000) == 0)) goto LAB_00310293;\n              }\nLAB_003101c0:\n              bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                        helpstring + 3);\n            }" if (parenthesized_expression "((bVar29 & 7) == 0)" ( (binary_expression "(bVar29 & 7) == 0" (parenthesized_expression "(bVar29 & 7)" ( (binary_expression "bVar29 & 7" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n              if ((*(int *)&(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                            field_2 != 0) ||\n                 (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                  0x20000000) == 0)) {\n                pcVar8 = *(code **)(*(long *)(pGVar21->help_initializer_).super_Struct_special.\n                                             option.longname._M_string_length + 0x28);\n                if (pcVar8 != gold::Object::do_pluginobj) {\n                  lVar24 = (*pcVar8)();\n                  iVar19 = (int)pGVar32;\n                  if (lVar24 != 0) {\n                    bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 2);\n                    bVar15 = bVar29 & 7;\n                    if ((bVar29 & 7) == 0) {\n                      uVar37 = *(uint *)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                         longname.field_2;\n                      pGVar32 = (General_options *)(ulong)uVar37;\n                      bVar1 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                               option.helpstring + 3);\n                      if ((uVar37 == 0) && ((bVar1 & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)bVar1 < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar15 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 3)) goto LAB_00310305;\n                    bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 1);\n                    if ((bVar15 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }\nLAB_0031015a:\n                bVar1 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                         helpstring + 1);\n                bVar29 = bVar29 & 7;\n                bVar15 = bVar1 & 3;\n                if ((bVar1 & 3) == 0) goto LAB_003101c0;\nLAB_00310166:\n                if (((*(int *)&(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                               field_2 == 0) &&\n                    (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                     0x20000000) != 0)) &&\n                   ((*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring\n                     >> 4 != 2 &&\n                    (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                     0x200000000) == 0)))) {\nLAB_00310293:\n                  if (gold::parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108dd to 003108e1 has its CatchHandler @ 00310922 */\n                    gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if ((gold::parameters->options_->weak_unresolved_symbols_).value != false) {\n                    if (bVar29 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)((pGVar21->help_initializer_).super_Struct_special.option.longname.\n                                 _M_string_length + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }\n                if (bVar15 == 2) {\n                  uVar23 = gettext("hidden");\n                }\n                else if (bVar15 < 3) {\n                  if (bVar15 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    gold::do_gold_unreachable("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar23 = gettext("internal");\n                }\n                else {\n                  uVar23 = gettext("protected");\n                }\n                pp_Var2 = (pGVar21->help_initializer_).super_Struct_special.super_Struct_var.\n                          _vptr_Struct_var;\n                pcVar20 = (char *)gettext("%s symbol \'%s\' is not defined locally");\n                    /* try { // try from 003101b4 to 0031042c has its CatchHandler @ 00310922 */\n                gold::gold_error(pcVar20,uVar23,pp_Var2);\n                iVar19 = (int)uVar23;\n                goto LAB_003101c0;\n              }\nLAB_0031020c:\n              if ((*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring >>\n                   4 == 2) ||\n                 (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                  0x200000000) != 0)) {\nLAB_00310438:\n                iVar19 = (int)pGVar32;\n                bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 1) & 3;\nLAB_0031043f:\n                if (bVar15 == 0) goto LAB_003101c0;\n                bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 2) & 7;\n                if (bVar29 != 0) goto LAB_00310270;\n                goto LAB_00310166;\n              }\n              pGVar32 = gold::parameters->options_;\n              if (pGVar32 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310878 to 0031087c has its CatchHandler @ 00310922 */\n                gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              if ((pGVar32->weak_unresolved_symbols_).value != false) goto LAB_00310438;\n              if (*(char *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                   helpstring + 3) < '\0') {\n                if (bVar15 != 0) goto LAB_00310260;\nLAB_003105b8:\n                iVar19 = (int)pGVar32;\n                pcVar8 = *(code **)(*(long *)(pGVar21->help_initializer_).super_Struct_special.\n                                             option.longname._M_string_length + 0x28);\n                if (pcVar8 == gold::Object::do_pluginobj) goto LAB_0031015a;\n                    /* try { // try from 003105cc to 003105cd has its CatchHandler @ 00310922 */\n                lVar24 = (*pcVar8)();\n                if (lVar24 == 0) goto LAB_00310438;\n              }\nLAB_00310305:\n              iVar19 = (int)pGVar32;\n              if (gold::parameters->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310818 to 0031084c has its CatchHandler @ 00310922 */\n                gold::do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n              }\n              p_Var3 = gold::parameters->target_->_vptr_Target[7];\n              if (p_Var3 != gold::Target::do_is_defined_by_abi) {\n                pGVar32 = pGVar21;\n                iVar18 = (*p_Var3)();\n                iVar19 = (int)pGVar32;\n                if ((char)iVar18 != '\0') goto LAB_00310438;\n              }\n              pGVar9 = gold::parameters->options_;\n              if (pGVar9 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }\n              pGVar34 = (General_options *)(pGVar9->unresolved_symbols_).value;\n              bVar14 = false;\n              bVar40 = pGVar34 == (General_options *)0x0;\n              if (bVar40) {\n                bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 1) & 3;\nLAB_003103c9:\n                if ((bVar15 == 2) ||\n                   (((pGVar9->shared_).value == false || ((pGVar9->defs_).value != false))))\n                goto LAB_003103e1;\n                goto LAB_0031043f;\n              }\n              lVar24 = 0xb;\n              pGVar33 = pGVar34;\n              pbVar36 = (byte *)"ignore-all";\n              do {\n                pGVar32 = pGVar33;\n                if (lVar24 == 0) break;\n                lVar24 = lVar24 + -1;\n                pGVar32 = (General_options *)((long)pGVar33 + (ulong)bVar41 * -2 + 1);\n                bVar29 = *(byte *)&(pGVar33->help_initializer_).super_Struct_special.\n                                   super_Struct_var._vptr_Struct_var;\n                bVar14 = bVar29 < *pbVar36;\n                bVar40 = bVar29 == *pbVar36;\n                pGVar33 = pGVar32;\n                pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n              } while (bVar40);\n              bVar39 = false;\n              bVar14 = (!bVar14 && !bVar40) == bVar14;\n              if (bVar14) goto LAB_00310438;\n              lVar24 = 0xb;\n              pGVar32 = pGVar34;\n              pbVar36 = (byte *)"report-all";\n              do {\n                if (lVar24 == 0) break;\n                lVar24 = lVar24 + -1;\n                bVar29 = *(byte *)&(pGVar32->help_initializer_).super_Struct_special.\n                                   super_Struct_var._vptr_Struct_var;\n                bVar39 = bVar29 < *pbVar36;\n                bVar14 = bVar29 == *pbVar36;\n                pGVar32 = (General_options *)((long)pGVar32 + (ulong)bVar41 * -2 + 1);\n                pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n              } while (bVar14);\n              bVar40 = false;\n              bVar14 = (!bVar39 && !bVar14) == bVar39;\n              if (!bVar14) {\n                lVar24 = 0x17;\n                pGVar32 = pGVar34;\n                pbVar36 = (byte *)"ignore-in-object-files";\n                do {\n                  pGVar33 = pGVar32;\n                  if (lVar24 == 0) break;\n                  lVar24 = lVar24 + -1;\n                  pGVar33 = (General_options *)((long)pGVar32 + (ulong)bVar41 * -2 + 1);\n                  bVar29 = *(byte *)&(pGVar32->help_initializer_).super_Struct_special.\n                                     super_Struct_var._vptr_Struct_var;\n                  bVar40 = bVar29 < *pbVar36;\n                  bVar14 = bVar29 == *pbVar36;\n                  pGVar32 = pGVar33;\n                  pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                } while (bVar14);\n                iVar19 = (int)pGVar33;\n                bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 1) & 3;\n                bVar14 = (!bVar40 && !bVar14) == bVar40;\n                if ((!bVar14) ||\n                   (bVar14 = ((ulong)(pGVar21->help_initializer_).super_Struct_special.option.\n                                     helpstring & 0x1000000) == 0, !bVar14)) {\n                  bVar40 = false;\n                  lVar24 = 0x16;\n                  pbVar36 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    pGVar32 = pGVar34;\n                    if (lVar24 == 0) break;\n                    lVar24 = lVar24 + -1;\n                    pGVar32 = (General_options *)((long)pGVar34 + (ulong)bVar41 * -2 + 1);\n                    bVar29 = *(byte *)&(pGVar34->help_initializer_).super_Struct_special.\n                                       super_Struct_var._vptr_Struct_var;\n                    bVar40 = bVar29 < *pbVar36;\n                    bVar14 = bVar29 == *pbVar36;\n                    pGVar34 = pGVar32;\n                    pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                  } while (bVar14);\n                  iVar19 = (int)pGVar32;\n                  if (((!bVar40 && !bVar14) != bVar40) ||\n                     (*(char *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                       helpstring + 2) < '\0')) goto LAB_003103c9;\n                }\n                goto LAB_0031043f;\n              }\nLAB_003103e1:\n              pRVar35 = relinfo;\n              gold::gold_undefined_symbol_at_location<32,_true>\n                        ((Symbol *)pGVar21,relinfo,(size_t)local_148,local_140);\n              iVar19 = (int)pRVar35;\n              bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                        helpstring + 3);\n            }" { (if_statement "if ((*(int *)&(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                            field_2 != 0) ||\n                 (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                  0x20000000) == 0)) {\n                pcVar8 = *(code **)(*(long *)(pGVar21->help_initializer_).super_Struct_special.\n                                             option.longname._M_string_length + 0x28);\n                if (pcVar8 != gold::Object::do_pluginobj) {\n                  lVar24 = (*pcVar8)();\n                  iVar19 = (int)pGVar32;\n                  if (lVar24 != 0) {\n                    bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 2);\n                    bVar15 = bVar29 & 7;\n                    if ((bVar29 & 7) == 0) {\n                      uVar37 = *(uint *)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                         longname.field_2;\n                      pGVar32 = (General_options *)(ulong)uVar37;\n                      bVar1 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                               option.helpstring + 3);\n                      if ((uVar37 == 0) && ((bVar1 & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)bVar1 < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar15 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 3)) goto LAB_00310305;\n                    bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 1);\n                    if ((bVar15 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }\nLAB_0031015a:\n                bVar1 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                         helpstring + 1);\n                bVar29 = bVar29 & 7;\n                bVar15 = bVar1 & 3;\n                if ((bVar1 & 3) == 0) goto LAB_003101c0;\nLAB_00310166:\n                if (((*(int *)&(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                               field_2 == 0) &&\n                    (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                     0x20000000) != 0)) &&\n                   ((*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring\n                     >> 4 != 2 &&\n                    (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                     0x200000000) == 0)))) {\nLAB_00310293:\n                  if (gold::parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108dd to 003108e1 has its CatchHandler @ 00310922 */\n                    gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if ((gold::parameters->options_->weak_unresolved_symbols_).value != false) {\n                    if (bVar29 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)((pGVar21->help_initializer_).super_Struct_special.option.longname.\n                                 _M_string_length + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }\n                if (bVar15 == 2) {\n                  uVar23 = gettext("hidden");\n                }\n                else if (bVar15 < 3) {\n                  if (bVar15 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    gold::do_gold_unreachable("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar23 = gettext("internal");\n                }\n                else {\n                  uVar23 = gettext("protected");\n                }\n                pp_Var2 = (pGVar21->help_initializer_).super_Struct_special.super_Struct_var.\n                          _vptr_Struct_var;\n                pcVar20 = (char *)gettext("%s symbol \'%s\' is not defined locally");\n                    /* try { // try from 003101b4 to 0031042c has its CatchHandler @ 00310922 */\n                gold::gold_error(pcVar20,uVar23,pp_Var2);\n                iVar19 = (int)uVar23;\n                goto LAB_003101c0;\n              }" if (parenthesized_expression "((*(int *)&(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                            field_2 != 0) ||\n                 (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                  0x20000000) == 0))" ( (binary_expression "(*(int *)&(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                            field_2 != 0) ||\n                 (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                  0x20000000) == 0)" (parenthesized_expression "(*(int *)&(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                            field_2 != 0)" ( (binary_expression "*(int *)&(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                            field_2 != 0" (pointer_expression "*(int *)&(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                            field_2" * (cast_expression "(int *)&(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                            field_2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                            field_2" & (field_expression "(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                            field_2" (field_expression "(pGVar21->help_initializer_).super_Struct_special.option.longname" (field_expression "(pGVar21->help_initializer_).super_Struct_special.option" (field_expression "(pGVar21->help_initializer_).super_Struct_special" (parenthesized_expression "(pGVar21->help_initializer_)" ( (field_expression "pGVar21->help_initializer_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier)))) != number_literal) )) || (parenthesized_expression "(((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                  0x20000000) == 0)" ( (binary_expression "((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                  0x20000000) == 0" (parenthesized_expression "((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                  0x20000000)" ( (binary_expression "(ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                  0x20000000" (field_expression "(ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring" (field_expression "(ulong)(pGVar21->help_initializer_).super_Struct_special.option" (field_expression "(ulong)(pGVar21->help_initializer_).super_Struct_special" (call_expression "(ulong)(pGVar21->help_initializer_)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(pGVar21->help_initializer_)" ( (field_expression "pGVar21->help_initializer_" identifier -> field_identifier) ))) . field_identifier) . field_identifier) . field_identifier) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n                pcVar8 = *(code **)(*(long *)(pGVar21->help_initializer_).super_Struct_special.\n                                             option.longname._M_string_length + 0x28);\n                if (pcVar8 != gold::Object::do_pluginobj) {\n                  lVar24 = (*pcVar8)();\n                  iVar19 = (int)pGVar32;\n                  if (lVar24 != 0) {\n                    bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 2);\n                    bVar15 = bVar29 & 7;\n                    if ((bVar29 & 7) == 0) {\n                      uVar37 = *(uint *)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                         longname.field_2;\n                      pGVar32 = (General_options *)(ulong)uVar37;\n                      bVar1 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                               option.helpstring + 3);\n                      if ((uVar37 == 0) && ((bVar1 & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)bVar1 < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar15 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 3)) goto LAB_00310305;\n                    bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 1);\n                    if ((bVar15 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }\nLAB_0031015a:\n                bVar1 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                         helpstring + 1);\n                bVar29 = bVar29 & 7;\n                bVar15 = bVar1 & 3;\n                if ((bVar1 & 3) == 0) goto LAB_003101c0;\nLAB_00310166:\n                if (((*(int *)&(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                               field_2 == 0) &&\n                    (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                     0x20000000) != 0)) &&\n                   ((*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring\n                     >> 4 != 2 &&\n                    (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                     0x200000000) == 0)))) {\nLAB_00310293:\n                  if (gold::parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108dd to 003108e1 has its CatchHandler @ 00310922 */\n                    gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if ((gold::parameters->options_->weak_unresolved_symbols_).value != false) {\n                    if (bVar29 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)((pGVar21->help_initializer_).super_Struct_special.option.longname.\n                                 _M_string_length + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }\n                if (bVar15 == 2) {\n                  uVar23 = gettext("hidden");\n                }\n                else if (bVar15 < 3) {\n                  if (bVar15 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    gold::do_gold_unreachable("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar23 = gettext("internal");\n                }\n                else {\n                  uVar23 = gettext("protected");\n                }\n                pp_Var2 = (pGVar21->help_initializer_).super_Struct_special.super_Struct_var.\n                          _vptr_Struct_var;\n                pcVar20 = (char *)gettext("%s symbol \'%s\' is not defined locally");\n                    /* try { // try from 003101b4 to 0031042c has its CatchHandler @ 00310922 */\n                gold::gold_error(pcVar20,uVar23,pp_Var2);\n                iVar19 = (int)uVar23;\n                goto LAB_003101c0;\n              }" { (expression_statement "pcVar8 = *(code **)(*(long *)(pGVar21->help_initializer_).super_Struct_special.\n                                             option.longname._M_string_length + 0x28);" (assignment_expression "pcVar8 = *(code **)(*(long *)(pGVar21->help_initializer_).super_Struct_special.\n                                             option.longname._M_string_length + 0x28)" identifier = (pointer_expression "*(code **)(*(long *)(pGVar21->help_initializer_).super_Struct_special.\n                                             option.longname._M_string_length + 0x28)" * (cast_expression "(code **)(*(long *)(pGVar21->help_initializer_).super_Struct_special.\n                                             option.longname._M_string_length + 0x28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)(pGVar21->help_initializer_).super_Struct_special.\n                                             option.longname._M_string_length + 0x28)" ( (binary_expression "*(long *)(pGVar21->help_initializer_).super_Struct_special.\n                                             option.longname._M_string_length + 0x28" (pointer_expression "*(long *)(pGVar21->help_initializer_).super_Struct_special.\n                                             option.longname._M_string_length" * (cast_expression "(long *)(pGVar21->help_initializer_).super_Struct_special.\n                                             option.longname._M_string_length" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (field_expression "(pGVar21->help_initializer_).super_Struct_special.\n                                             option.longname._M_string_length" (field_expression "(pGVar21->help_initializer_).super_Struct_special.\n                                             option.longname" (field_expression "(pGVar21->help_initializer_).super_Struct_special.\n                                             option" (field_expression "(pGVar21->help_initializer_).super_Struct_special" (parenthesized_expression "(pGVar21->help_initializer_)" ( (field_expression "pGVar21->help_initializer_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier))) + number_literal) ))))) ;) (if_statement "if (pcVar8 != gold::Object::do_pluginobj) {\n                  lVar24 = (*pcVar8)();\n                  iVar19 = (int)pGVar32;\n                  if (lVar24 != 0) {\n                    bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 2);\n                    bVar15 = bVar29 & 7;\n                    if ((bVar29 & 7) == 0) {\n                      uVar37 = *(uint *)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                         longname.field_2;\n                      pGVar32 = (General_options *)(ulong)uVar37;\n                      bVar1 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                               option.helpstring + 3);\n                      if ((uVar37 == 0) && ((bVar1 & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)bVar1 < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar15 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 3)) goto LAB_00310305;\n                    bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 1);\n                    if ((bVar15 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }" if (parenthesized_expression "(pcVar8 != gold::Object::do_pluginobj)" ( (binary_expression "pcVar8 != gold" identifier != identifier) (ERROR "::Object::do_pluginobj" : : identifier : : identifier) )) (compound_statement "{\n                  lVar24 = (*pcVar8)();\n                  iVar19 = (int)pGVar32;\n                  if (lVar24 != 0) {\n                    bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 2);\n                    bVar15 = bVar29 & 7;\n                    if ((bVar29 & 7) == 0) {\n                      uVar37 = *(uint *)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                         longname.field_2;\n                      pGVar32 = (General_options *)(ulong)uVar37;\n                      bVar1 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                               option.helpstring + 3);\n                      if ((uVar37 == 0) && ((bVar1 & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)bVar1 < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar15 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 3)) goto LAB_00310305;\n                    bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 1);\n                    if ((bVar15 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }" { (expression_statement "lVar24 = (*pcVar8)();" (assignment_expression "lVar24 = (*pcVar8)()" identifier = (call_expression "(*pcVar8)()" (parenthesized_expression "(*pcVar8)" ( (pointer_expression "*pcVar8" * identifier) )) (argument_list "()" ( )))) ;) (expression_statement "iVar19 = (int)pGVar32;" (assignment_expression "iVar19 = (int)pGVar32" identifier = (cast_expression "(int)pGVar32" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (lVar24 != 0) {\n                    bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 2);\n                    bVar15 = bVar29 & 7;\n                    if ((bVar29 & 7) == 0) {\n                      uVar37 = *(uint *)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                         longname.field_2;\n                      pGVar32 = (General_options *)(ulong)uVar37;\n                      bVar1 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                               option.helpstring + 3);\n                      if ((uVar37 == 0) && ((bVar1 & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)bVar1 < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar15 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 3)) goto LAB_00310305;\n                    bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 1);\n                    if ((bVar15 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }" if (parenthesized_expression "(lVar24 != 0)" ( (binary_expression "lVar24 != 0" identifier != number_literal) )) (compound_statement "{\n                    bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 2);\n                    bVar15 = bVar29 & 7;\n                    if ((bVar29 & 7) == 0) {\n                      uVar37 = *(uint *)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                         longname.field_2;\n                      pGVar32 = (General_options *)(ulong)uVar37;\n                      bVar1 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                               option.helpstring + 3);\n                      if ((uVar37 == 0) && ((bVar1 & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)bVar1 < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar15 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 3)) goto LAB_00310305;\n                    bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 1);\n                    if ((bVar15 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }" { (expression_statement "bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 2);" (assignment_expression "bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 2)" identifier = (pointer_expression "*(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 2)" * (cast_expression "(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 2)" ( (binary_expression "(long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 2" (cast_expression "(long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring" & (field_expression "(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring" (field_expression "(pGVar21->help_initializer_).super_Struct_special.\n                                              option" (field_expression "(pGVar21->help_initializer_).super_Struct_special" (parenthesized_expression "(pGVar21->help_initializer_)" ( (field_expression "pGVar21->help_initializer_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier))) + number_literal) ))))) ;) (expression_statement "bVar15 = bVar29 & 7;" (assignment_expression "bVar15 = bVar29 & 7" identifier = (binary_expression "bVar29 & 7" identifier & number_literal)) ;) (if_statement "if ((bVar29 & 7) == 0) {\n                      uVar37 = *(uint *)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                         longname.field_2;\n                      pGVar32 = (General_options *)(ulong)uVar37;\n                      bVar1 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                               option.helpstring + 3);\n                      if ((uVar37 == 0) && ((bVar1 & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)bVar1 < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }" if (parenthesized_expression "((bVar29 & 7) == 0)" ( (binary_expression "(bVar29 & 7) == 0" (parenthesized_expression "(bVar29 & 7)" ( (binary_expression "bVar29 & 7" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                      uVar37 = *(uint *)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                         longname.field_2;\n                      pGVar32 = (General_options *)(ulong)uVar37;\n                      bVar1 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                               option.helpstring + 3);\n                      if ((uVar37 == 0) && ((bVar1 & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)bVar1 < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }" { (expression_statement "uVar37 = *(uint *)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                         longname.field_2;" (assignment_expression "uVar37 = *(uint *)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                         longname.field_2" identifier = (pointer_expression "*(uint *)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                         longname.field_2" * (cast_expression "(uint *)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                         longname.field_2" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pGVar21->help_initializer_).super_Struct_special.option.\n                                         longname.field_2" & (field_expression "(pGVar21->help_initializer_).super_Struct_special.option.\n                                         longname.field_2" (field_expression "(pGVar21->help_initializer_).super_Struct_special.option.\n                                         longname" (field_expression "(pGVar21->help_initializer_).super_Struct_special.option" (field_expression "(pGVar21->help_initializer_).super_Struct_special" (parenthesized_expression "(pGVar21->help_initializer_)" ( (field_expression "pGVar21->help_initializer_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier))))) ;) (expression_statement "pGVar32 = (General_options *)(ulong)uVar37;" (assignment_expression "pGVar32 = (General_options *)(ulong)uVar37" identifier = (cast_expression "(General_options *)(ulong)uVar37" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(ulong)uVar37" ( (type_descriptor "ulong" type_identifier) ) identifier))) ;) (expression_statement "bVar1 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                               option.helpstring + 3);" (assignment_expression "bVar1 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                               option.helpstring + 3)" identifier = (pointer_expression "*(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                               option.helpstring + 3)" * (cast_expression "(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                               option.helpstring + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                               option.helpstring + 3)" ( (binary_expression "(long)&(pGVar21->help_initializer_).super_Struct_special.\n                                               option.helpstring + 3" (cast_expression "(long)&(pGVar21->help_initializer_).super_Struct_special.\n                                               option.helpstring" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&(pGVar21->help_initializer_).super_Struct_special.\n                                               option.helpstring" & (field_expression "(pGVar21->help_initializer_).super_Struct_special.\n                                               option.helpstring" (field_expression "(pGVar21->help_initializer_).super_Struct_special.\n                                               option" (field_expression "(pGVar21->help_initializer_).super_Struct_special" (parenthesized_expression "(pGVar21->help_initializer_)" ( (field_expression "pGVar21->help_initializer_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier))) + number_literal) ))))) ;) (if_statement "if ((uVar37 == 0) && ((bVar1 & 0x20) != 0)) goto LAB_0031020c;" if (parenthesized_expression "((uVar37 == 0) && ((bVar1 & 0x20) != 0))" ( (binary_expression "(uVar37 == 0) && ((bVar1 & 0x20) != 0)" (parenthesized_expression "(uVar37 == 0)" ( (binary_expression "uVar37 == 0" identifier == number_literal) )) && (parenthesized_expression "((bVar1 & 0x20) != 0)" ( (binary_expression "(bVar1 & 0x20) != 0" (parenthesized_expression "(bVar1 & 0x20)" ( (binary_expression "bVar1 & 0x20" identifier & number_literal) )) != number_literal) ))) )) (goto_statement "goto LAB_0031020c;" goto statement_identifier ;)) (if_statement "if ((char)bVar1 < '\0') goto LAB_003105b8;" if (parenthesized_expression "((char)bVar1 < '\0')" ( (binary_expression "(char)bVar1 < '\0'" (cast_expression "(char)bVar1" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_003105b8;" goto statement_identifier ;)) (goto_statement "goto LAB_00310305;" goto statement_identifier ;) })) (if_statement "if (bVar15 == 4) goto LAB_0031020c;" if (parenthesized_expression "(bVar15 == 4)" ( (binary_expression "bVar15 == 4" identifier == number_literal) )) (goto_statement "goto LAB_0031020c;" goto statement_identifier ;)) (if_statement "if (-1 < *(char *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 3)) goto LAB_00310305;" if (parenthesized_expression "(-1 < *(char *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 3))" ( (binary_expression "-1 < *(char *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 3)" number_literal < (pointer_expression "*(char *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 3)" * (cast_expression "(char *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 3)" ( (binary_expression "(long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 3" (cast_expression "(long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring" & (field_expression "(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring" (field_expression "(pGVar21->help_initializer_).super_Struct_special.\n                                              option" (field_expression "(pGVar21->help_initializer_).super_Struct_special" (parenthesized_expression "(pGVar21->help_initializer_)" ( (field_expression "pGVar21->help_initializer_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier))) + number_literal) ))))) )) (goto_statement "goto LAB_00310305;" goto statement_identifier ;)) (expression_statement "bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 1);" (assignment_expression "bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 1)" identifier = (pointer_expression "*(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 1)" * (cast_expression "(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 1)" ( (binary_expression "(long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring + 1" (cast_expression "(long)&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring" & (field_expression "(pGVar21->help_initializer_).super_Struct_special.\n                                              option.helpstring" (field_expression "(pGVar21->help_initializer_).super_Struct_special.\n                                              option" (field_expression "(pGVar21->help_initializer_).super_Struct_special" (parenthesized_expression "(pGVar21->help_initializer_)" ( (field_expression "pGVar21->help_initializer_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier))) + number_literal) ))))) ;) (if_statement "if ((bVar15 & 3) == 0) goto LAB_003101c0;" if (parenthesized_expression "((bVar15 & 3) == 0)" ( (binary_expression "(bVar15 & 3) == 0" (parenthesized_expression "(bVar15 & 3)" ( (binary_expression "bVar15 & 3" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_003101c0;" goto statement_identifier ;)) (goto_statement "goto LAB_0031026d;" goto statement_identifier ;) })) (goto_statement "goto LAB_00310438;" goto statement_identifier ;) })) (labeled_statement "LAB_0031015a:\n                bVar1 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                         helpstring + 1);" statement_identifier : (expression_statement "bVar1 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                         helpstring + 1);" (assignment_expression "bVar1 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                         helpstring + 1)" identifier = (pointer_expression "*(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                         helpstring + 1)" * (cast_expression "(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                         helpstring + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                         helpstring + 1)" ( (binary_expression "(long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                         helpstring + 1" (cast_expression "(long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                         helpstring" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&(pGVar21->help_initializer_).super_Struct_special.option.\n                                         helpstring" & (field_expression "(pGVar21->help_initializer_).super_Struct_special.option.\n                                         helpstring" (field_expression "(pGVar21->help_initializer_).super_Struct_special.option" (field_expression "(pGVar21->help_initializer_).super_Struct_special" (parenthesized_expression "(pGVar21->help_initializer_)" ( (field_expression "pGVar21->help_initializer_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier))) + number_literal) ))))) ;)) (expression_statement "bVar29 = bVar29 & 7;" (assignment_expression "bVar29 = bVar29 & 7" identifier = (binary_expression "bVar29 & 7" identifier & number_literal)) ;) (expression_statement "bVar15 = bVar1 & 3;" (assignment_expression "bVar15 = bVar1 & 3" identifier = (binary_expression "bVar1 & 3" identifier & number_literal)) ;) (if_statement "if ((bVar1 & 3) == 0) goto LAB_003101c0;" if (parenthesized_expression "((bVar1 & 3) == 0)" ( (binary_expression "(bVar1 & 3) == 0" (parenthesized_expression "(bVar1 & 3)" ( (binary_expression "bVar1 & 3" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_003101c0;" goto statement_identifier ;)) (labeled_statement "LAB_00310166:\n                if (((*(int *)&(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                               field_2 == 0) &&\n                    (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                     0x20000000) != 0)) &&\n                   ((*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring\n                     >> 4 != 2 &&\n                    (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                     0x200000000) == 0)))) {\nLAB_00310293:\n                  if (gold::parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108dd to 003108e1 has its CatchHandler @ 00310922 */\n                    gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if ((gold::parameters->options_->weak_unresolved_symbols_).value != false) {\n                    if (bVar29 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)((pGVar21->help_initializer_).super_Struct_special.option.longname.\n                                 _M_string_length + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }" statement_identifier : (if_statement "if (((*(int *)&(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                               field_2 == 0) &&\n                    (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                     0x20000000) != 0)) &&\n                   ((*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring\n                     >> 4 != 2 &&\n                    (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                     0x200000000) == 0)))) {\nLAB_00310293:\n                  if (gold::parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108dd to 003108e1 has its CatchHandler @ 00310922 */\n                    gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if ((gold::parameters->options_->weak_unresolved_symbols_).value != false) {\n                    if (bVar29 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)((pGVar21->help_initializer_).super_Struct_special.option.longname.\n                                 _M_string_length + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }" if (parenthesized_expression "(((*(int *)&(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                               field_2 == 0) &&\n                    (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                     0x20000000) != 0)) &&\n                   ((*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring\n                     >> 4 != 2 &&\n                    (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                     0x200000000) == 0))))" ( (binary_expression "((*(int *)&(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                               field_2 == 0) &&\n                    (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                     0x20000000) != 0)) &&\n                   ((*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring\n                     >> 4 != 2 &&\n                    (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                     0x200000000) == 0)))" (parenthesized_expression "((*(int *)&(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                               field_2 == 0) &&\n                    (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                     0x20000000) != 0))" ( (binary_expression "(*(int *)&(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                               field_2 == 0) &&\n                    (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                     0x20000000) != 0)" (parenthesized_expression "(*(int *)&(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                               field_2 == 0)" ( (binary_expression "*(int *)&(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                               field_2 == 0" (pointer_expression "*(int *)&(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                               field_2" * (cast_expression "(int *)&(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                               field_2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                               field_2" & (field_expression "(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                               field_2" (field_expression "(pGVar21->help_initializer_).super_Struct_special.option.longname" (field_expression "(pGVar21->help_initializer_).super_Struct_special.option" (field_expression "(pGVar21->help_initializer_).super_Struct_special" (parenthesized_expression "(pGVar21->help_initializer_)" ( (field_expression "pGVar21->help_initializer_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier)))) == number_literal) )) && (parenthesized_expression "(((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                     0x20000000) != 0)" ( (binary_expression "((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                     0x20000000) != 0" (parenthesized_expression "((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                     0x20000000)" ( (binary_expression "(ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                     0x20000000" (field_expression "(ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring" (field_expression "(ulong)(pGVar21->help_initializer_).super_Struct_special.option" (field_expression "(ulong)(pGVar21->help_initializer_).super_Struct_special" (call_expression "(ulong)(pGVar21->help_initializer_)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(pGVar21->help_initializer_)" ( (field_expression "pGVar21->help_initializer_" identifier -> field_identifier) ))) . field_identifier) . field_identifier) . field_identifier) & number_literal) )) != number_literal) ))) )) && (parenthesized_expression "((*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring\n                     >> 4 != 2 &&\n                    (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                     0x200000000) == 0)))" ( (parenthesized_expression "(*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring\n                     >> 4 != 2 &&\n                    (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                     0x200000000) == 0))" ( (binary_expression "*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring\n                     >> 4 != 2 &&\n                    (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                     0x200000000) == 0)" (binary_expression "*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring\n                     >> 4 != 2" (binary_expression "*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring\n                     >> 4" (pointer_expression "*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring" * (cast_expression "(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pGVar21->help_initializer_).super_Struct_special.option.helpstring" & (field_expression "(pGVar21->help_initializer_).super_Struct_special.option.helpstring" (field_expression "(pGVar21->help_initializer_).super_Struct_special.option" (field_expression "(pGVar21->help_initializer_).super_Struct_special" (parenthesized_expression "(pGVar21->help_initializer_)" ( (field_expression "pGVar21->help_initializer_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier)))) >> number_literal) != number_literal) && (parenthesized_expression "(((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                     0x200000000) == 0)" ( (binary_expression "((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                     0x200000000) == 0" (parenthesized_expression "((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                     0x200000000)" ( (binary_expression "(ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                     0x200000000" (field_expression "(ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring" (field_expression "(ulong)(pGVar21->help_initializer_).super_Struct_special.option" (field_expression "(ulong)(pGVar21->help_initializer_).super_Struct_special" (call_expression "(ulong)(pGVar21->help_initializer_)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(pGVar21->help_initializer_)" ( (field_expression "pGVar21->help_initializer_" identifier -> field_identifier) ))) . field_identifier) . field_identifier) . field_identifier) & number_literal) )) == number_literal) ))) )) ))) )) (compound_statement "{\nLAB_00310293:\n                  if (gold::parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108dd to 003108e1 has its CatchHandler @ 00310922 */\n                    gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if ((gold::parameters->options_->weak_unresolved_symbols_).value != false) {\n                    if (bVar29 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }" { (labeled_statement "LAB_00310293:\n                  if (gold::parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108dd to 003108e1 has its CatchHandler @ 00310922 */\n                    gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                  }" statement_identifier : (if_statement "if (gold::parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108dd to 003108e1 has its CatchHandler @ 00310922 */\n                    gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                  }" if (parenthesized_expression "(gold::parameters->options_ == (General_options *)0x0)" ( (ERROR "gold::" identifier : :) (binary_expression "parameters->options_ == (General_options *)0x0" (field_expression "parameters->options_" identifier -> field_identifier) == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 003108dd to 003108e1 has its CatchHandler @ 00310922 */\n                    gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n                  }" { comment comment (labeled_statement "gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/parameters.h",0x5c,"options");" (call_expression "do_gold_unreachable("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;)) }))) (if_statement "if ((gold::parameters->options_->weak_unresolved_symbols_).value != false) {\n                    if (bVar29 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }" if (parenthesized_expression "((gold::parameters->options_->weak_unresolved_symbols_).value != false)" ( (binary_expression "(gold::parameters->options_->weak_unresolved_symbols_).value != false" (field_expression "(gold::parameters->options_->weak_unresolved_symbols_).value" (parenthesized_expression "(gold::parameters->options_->weak_unresolved_symbols_)" ( (ERROR "gold::" identifier : :) (field_expression "parameters->options_->weak_unresolved_symbols_" (field_expression "parameters->options_" identifier -> field_identifier) -> field_identifier) )) . field_identifier) != false) )) (compound_statement "{\n                    if (bVar29 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }" { (if_statement "if (bVar29 != 0) goto LAB_003101c0;" if (parenthesized_expression "(bVar29 != 0)" ( (binary_expression "bVar29 != 0" identifier != number_literal) )) (goto_statement "goto LAB_003101c0;" goto statement_identifier ;)) (goto_statement "goto LAB_00310177;" goto statement_identifier ;) })) }) (else_clause "else {\nLAB_00310177:\n                  if ((*(byte *)((pGVar21->help_initializer_).super_Struct_special.option.longname.\n                                 _M_string_length + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }" else (compound_statement "{\nLAB_00310177:\n                  if ((*(byte *)((pGVar21->help_initializer_).super_Struct_special.option.longname.\n                                 _M_string_length + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }" { (labeled_statement "LAB_00310177:\n                  if ((*(byte *)((pGVar21->help_initializer_).super_Struct_special.option.longname.\n                                 _M_string_length + 0x3c) & 1) == 0) goto LAB_003101c0;" statement_identifier : (if_statement "if ((*(byte *)((pGVar21->help_initializer_).super_Struct_special.option.longname.\n                                 _M_string_length + 0x3c) & 1) == 0) goto LAB_003101c0;" if (parenthesized_expression "((*(byte *)((pGVar21->help_initializer_).super_Struct_special.option.longname.\n                                 _M_string_length + 0x3c) & 1) == 0)" ( (binary_expression "(*(byte *)((pGVar21->help_initializer_).super_Struct_special.option.longname.\n                                 _M_string_length + 0x3c) & 1) == 0" (parenthesized_expression "(*(byte *)((pGVar21->help_initializer_).super_Struct_special.option.longname.\n                                 _M_string_length + 0x3c) & 1)" ( (binary_expression "*(byte *)((pGVar21->help_initializer_).super_Struct_special.option.longname.\n                                 _M_string_length + 0x3c) & 1" (pointer_expression "*(byte *)((pGVar21->help_initializer_).super_Struct_special.option.longname.\n                                 _M_string_length + 0x3c)" * (cast_expression "(byte *)((pGVar21->help_initializer_).super_Struct_special.option.longname.\n                                 _M_string_length + 0x3c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((pGVar21->help_initializer_).super_Struct_special.option.longname.\n                                 _M_string_length + 0x3c)" ( (binary_expression "(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                                 _M_string_length + 0x3c" (field_expression "(pGVar21->help_initializer_).super_Struct_special.option.longname.\n                                 _M_string_length" (field_expression "(pGVar21->help_initializer_).super_Struct_special.option.longname" (field_expression "(pGVar21->help_initializer_).super_Struct_special.option" (field_expression "(pGVar21->help_initializer_).super_Struct_special" (parenthesized_expression "(pGVar21->help_initializer_)" ( (field_expression "pGVar21->help_initializer_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_003101c0;" goto statement_identifier ;))) })))) (if_statement "if (bVar15 == 2) {\n                  uVar23 = gettext("hidden");\n                }\n                else if (bVar15 < 3) {\n                  if (bVar15 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    gold::do_gold_unreachable("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar23 = gettext("internal");\n                }\n                else {\n                  uVar23 = gettext("protected");\n                }" if (parenthesized_expression "(bVar15 == 2)" ( (binary_expression "bVar15 == 2" identifier == number_literal) )) (compound_statement "{\n                  uVar23 = gettext("hidden");\n                }" { (expression_statement "uVar23 = gettext("hidden");" (assignment_expression "uVar23 = gettext("hidden")" identifier = (call_expression "gettext("hidden")" identifier (argument_list "("hidden")" ( (string_literal ""hidden"" " string_content ") )))) ;) }) (else_clause "else if (bVar15 < 3) {\n                  if (bVar15 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    gold::do_gold_unreachable("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar23 = gettext("internal");\n                }\n                else {\n                  uVar23 = gettext("protected");\n                }" else (if_statement "if (bVar15 < 3) {\n                  if (bVar15 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    gold::do_gold_unreachable("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar23 = gettext("internal");\n                }\n                else {\n                  uVar23 = gettext("protected");\n                }" if (parenthesized_expression "(bVar15 < 3)" ( (binary_expression "bVar15 < 3" identifier < number_literal) )) (compound_statement "{\n                  if (bVar15 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    gold::do_gold_unreachable("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar23 = gettext("internal");\n                }" { (if_statement "if (bVar15 != 1) {\n                    /* WARNING: Subroutine does not return */\n                    gold::do_gold_unreachable("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }" if (parenthesized_expression "(bVar15 != 1)" ( (binary_expression "bVar15 != 1" identifier != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    gold::do_gold_unreachable("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/target-reloc.h",0xa4,"visibility_error");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/target-reloc.h",0xa4,"visibility_error");" (call_expression "do_gold_unreachable("../../gold/target-reloc.h",0xa4,"visibility_error")" identifier (argument_list "("../../gold/target-reloc.h",0xa4,"visibility_error")" ( (string_literal ""../../gold/target-reloc.h"" " string_content ") , number_literal , (string_literal ""visibility_error"" " string_content ") ))) ;)) })) (expression_statement "uVar23 = gettext("internal");" (assignment_expression "uVar23 = gettext("internal")" identifier = (call_expression "gettext("internal")" identifier (argument_list "("internal")" ( (string_literal ""internal"" " string_content ") )))) ;) }) (else_clause "else {\n                  uVar23 = gettext("protected");\n                }" else (compound_statement "{\n                  uVar23 = gettext("protected");\n                }" { (expression_statement "uVar23 = gettext("protected");" (assignment_expression "uVar23 = gettext("protected")" identifier = (call_expression "gettext("protected")" identifier (argument_list "("protected")" ( (string_literal ""protected"" " string_content ") )))) ;) }))))) (expression_statement "pp_Var2 = (pGVar21->help_initializer_).super_Struct_special.super_Struct_var.\n                          _vptr_Struct_var;" (assignment_expression "pp_Var2 = (pGVar21->help_initializer_).super_Struct_special.super_Struct_var.\n                          _vptr_Struct_var" identifier = (field_expression "(pGVar21->help_initializer_).super_Struct_special.super_Struct_var.\n                          _vptr_Struct_var" (field_expression "(pGVar21->help_initializer_).super_Struct_special.super_Struct_var" (field_expression "(pGVar21->help_initializer_).super_Struct_special" (parenthesized_expression "(pGVar21->help_initializer_)" ( (field_expression "pGVar21->help_initializer_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "pcVar20 = (char *)gettext("%s symbol \'%s\' is not defined locally");" (assignment_expression "pcVar20 = (char *)gettext("%s symbol \'%s\' is not defined locally")" identifier = (cast_expression "(char *)gettext("%s symbol \'%s\' is not defined locally")" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext("%s symbol \'%s\' is not defined locally")" identifier (argument_list "("%s symbol \'%s\' is not defined locally")" ( (string_literal ""%s symbol \'%s\' is not defined locally"" " string_content escape_sequence string_content escape_sequence string_content ") ))))) ;) comment (labeled_statement "gold::gold_error(pcVar20,uVar23,pp_Var2);" statement_identifier : (ERROR ":" :) (expression_statement "gold_error(pcVar20,uVar23,pp_Var2);" (call_expression "gold_error(pcVar20,uVar23,pp_Var2)" identifier (argument_list "(pcVar20,uVar23,pp_Var2)" ( identifier , identifier , identifier ))) ;)) (expression_statement "iVar19 = (int)uVar23;" (assignment_expression "iVar19 = (int)uVar23" identifier = (cast_expression "(int)uVar23" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (goto_statement "goto LAB_003101c0;" goto statement_identifier ;) })) (labeled_statement "LAB_0031020c:\n              if ((*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring >>\n                   4 == 2) ||\n                 (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                  0x200000000) != 0)) {\nLAB_00310438:\n                iVar19 = (int)pGVar32;\n                bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 1) & 3;\nLAB_0031043f:\n                if (bVar15 == 0) goto LAB_003101c0;\n                bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 2) & 7;\n                if (bVar29 != 0) goto LAB_00310270;\n                goto LAB_00310166;\n              }" statement_identifier : (if_statement "if ((*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring >>\n                   4 == 2) ||\n                 (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                  0x200000000) != 0)) {\nLAB_00310438:\n                iVar19 = (int)pGVar32;\n                bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 1) & 3;\nLAB_0031043f:\n                if (bVar15 == 0) goto LAB_003101c0;\n                bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 2) & 7;\n                if (bVar29 != 0) goto LAB_00310270;\n                goto LAB_00310166;\n              }" if (parenthesized_expression "((*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring >>\n                   4 == 2) ||\n                 (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                  0x200000000) != 0))" ( (binary_expression "(*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring >>\n                   4 == 2) ||\n                 (((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                  0x200000000) != 0)" (parenthesized_expression "(*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring >>\n                   4 == 2)" ( (binary_expression "*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring >>\n                   4 == 2" (binary_expression "*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring >>\n                   4" (pointer_expression "*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring" * (cast_expression "(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pGVar21->help_initializer_).super_Struct_special.option.helpstring" & (field_expression "(pGVar21->help_initializer_).super_Struct_special.option.helpstring" (field_expression "(pGVar21->help_initializer_).super_Struct_special.option" (field_expression "(pGVar21->help_initializer_).super_Struct_special" (parenthesized_expression "(pGVar21->help_initializer_)" ( (field_expression "pGVar21->help_initializer_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier)))) >> number_literal) == number_literal) )) || (parenthesized_expression "(((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                  0x200000000) != 0)" ( (binary_expression "((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                  0x200000000) != 0" (parenthesized_expression "((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                  0x200000000)" ( (binary_expression "(ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                  0x200000000" (field_expression "(ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring" (field_expression "(ulong)(pGVar21->help_initializer_).super_Struct_special.option" (field_expression "(ulong)(pGVar21->help_initializer_).super_Struct_special" (call_expression "(ulong)(pGVar21->help_initializer_)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(pGVar21->help_initializer_)" ( (field_expression "pGVar21->help_initializer_" identifier -> field_identifier) ))) . field_identifier) . field_identifier) . field_identifier) & number_literal) )) != number_literal) ))) )) (compound_statement "{\nLAB_00310438:\n                iVar19 = (int)pGVar32;\n                bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 1) & 3;\nLAB_0031043f:\n                if (bVar15 == 0) goto LAB_003101c0;\n                bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 2) & 7;\n                if (bVar29 != 0) goto LAB_00310270;\n                goto LAB_00310166;\n              }" { (labeled_statement "LAB_00310438:\n                iVar19 = (int)pGVar32;" statement_identifier : (expression_statement "iVar19 = (int)pGVar32;" (assignment_expression "iVar19 = (int)pGVar32" identifier = (cast_expression "(int)pGVar32" ( (type_descriptor "int" primitive_type) ) identifier)) ;)) (expression_statement "bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 1) & 3;" (assignment_expression "bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 1) & 3" identifier = (binary_expression "*(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 1) & 3" (pointer_expression "*(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 1)" * (cast_expression "(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 1)" ( (binary_expression "(long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 1" (cast_expression "(long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring" & (field_expression "(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring" (field_expression "(pGVar21->help_initializer_).super_Struct_special.option" (field_expression "(pGVar21->help_initializer_).super_Struct_special" (parenthesized_expression "(pGVar21->help_initializer_)" ( (field_expression "pGVar21->help_initializer_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier))) + number_literal) )))) & number_literal)) ;) (labeled_statement "LAB_0031043f:\n                if (bVar15 == 0) goto LAB_003101c0;" statement_identifier : (if_statement "if (bVar15 == 0) goto LAB_003101c0;" if (parenthesized_expression "(bVar15 == 0)" ( (binary_expression "bVar15 == 0" identifier == number_literal) )) (goto_statement "goto LAB_003101c0;" goto statement_identifier ;))) (expression_statement "bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 2) & 7;" (assignment_expression "bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 2) & 7" identifier = (binary_expression "*(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 2) & 7" (pointer_expression "*(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 2)" * (cast_expression "(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 2)" ( (binary_expression "(long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 2" (cast_expression "(long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring" & (field_expression "(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring" (field_expression "(pGVar21->help_initializer_).super_Struct_special.option" (field_expression "(pGVar21->help_initializer_).super_Struct_special" (parenthesized_expression "(pGVar21->help_initializer_)" ( (field_expression "pGVar21->help_initializer_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier))) + number_literal) )))) & number_literal)) ;) (if_statement "if (bVar29 != 0) goto LAB_00310270;" if (parenthesized_expression "(bVar29 != 0)" ( (binary_expression "bVar29 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00310270;" goto statement_identifier ;)) (goto_statement "goto LAB_00310166;" goto statement_identifier ;) }))) (expression_statement "pGVar32 = gold::parameters->options_;" (field_expression "pGVar32 = gold::parameters->options_" (assignment_expression "pGVar32 = gold" identifier = identifier) (ERROR "::parameters" : : identifier) -> field_identifier) ;) (if_statement "if (pGVar32 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310878 to 0031087c has its CatchHandler @ 00310922 */\n                gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }" if (parenthesized_expression "(pGVar32 == (General_options *)0x0)" ( (binary_expression "pGVar32 == (General_options *)0x0" identifier == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310878 to 0031087c has its CatchHandler @ 00310922 */\n                gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }" { comment comment (labeled_statement "gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/parameters.h",0x5c,"options");" (call_expression "do_gold_unreachable("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;)) })) (if_statement "if ((pGVar32->weak_unresolved_symbols_).value != false) goto LAB_00310438;" if (parenthesized_expression "((pGVar32->weak_unresolved_symbols_).value != false)" ( (binary_expression "(pGVar32->weak_unresolved_symbols_).value != false" (field_expression "(pGVar32->weak_unresolved_symbols_).value" (parenthesized_expression "(pGVar32->weak_unresolved_symbols_)" ( (field_expression "pGVar32->weak_unresolved_symbols_" identifier -> field_identifier) )) . field_identifier) != false) )) (goto_statement "goto LAB_00310438;" goto statement_identifier ;)) (if_statement "if (*(char *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                   helpstring + 3) < '\0') {\n                if (bVar15 != 0) goto LAB_00310260;\nLAB_003105b8:\n                iVar19 = (int)pGVar32;\n                pcVar8 = *(code **)(*(long *)(pGVar21->help_initializer_).super_Struct_special.\n                                             option.longname._M_string_length + 0x28);\n                if (pcVar8 == gold::Object::do_pluginobj) goto LAB_0031015a;\n                    /* try { // try from 003105cc to 003105cd has its CatchHandler @ 00310922 */\n                lVar24 = (*pcVar8)();\n                if (lVar24 == 0) goto LAB_00310438;\n              }" if (parenthesized_expression "(*(char *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                   helpstring + 3) < '\0')" ( (binary_expression "*(char *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                   helpstring + 3) < '\0'" (pointer_expression "*(char *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                   helpstring + 3)" * (cast_expression "(char *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                   helpstring + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                   helpstring + 3)" ( (binary_expression "(long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                   helpstring + 3" (cast_expression "(long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                   helpstring" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&(pGVar21->help_initializer_).super_Struct_special.option.\n                                   helpstring" & (field_expression "(pGVar21->help_initializer_).super_Struct_special.option.\n                                   helpstring" (field_expression "(pGVar21->help_initializer_).super_Struct_special.option" (field_expression "(pGVar21->help_initializer_).super_Struct_special" (parenthesized_expression "(pGVar21->help_initializer_)" ( (field_expression "pGVar21->help_initializer_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier))) + number_literal) )))) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                if (bVar15 != 0) goto LAB_00310260;\nLAB_003105b8:\n                iVar19 = (int)pGVar32;\n                pcVar8 = *(code **)(*(long *)(pGVar21->help_initializer_).super_Struct_special.\n                                             option.longname._M_string_length + 0x28);\n                if (pcVar8 == gold::Object::do_pluginobj) goto LAB_0031015a;\n                    /* try { // try from 003105cc to 003105cd has its CatchHandler @ 00310922 */\n                lVar24 = (*pcVar8)();\n                if (lVar24 == 0) goto LAB_00310438;\n              }" { (if_statement "if (bVar15 != 0) goto LAB_00310260;" if (parenthesized_expression "(bVar15 != 0)" ( (binary_expression "bVar15 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00310260;" goto statement_identifier ;)) (labeled_statement "LAB_003105b8:\n                iVar19 = (int)pGVar32;" statement_identifier : (expression_statement "iVar19 = (int)pGVar32;" (assignment_expression "iVar19 = (int)pGVar32" identifier = (cast_expression "(int)pGVar32" ( (type_descriptor "int" primitive_type) ) identifier)) ;)) (expression_statement "pcVar8 = *(code **)(*(long *)(pGVar21->help_initializer_).super_Struct_special.\n                                             option.longname._M_string_length + 0x28);" (assignment_expression "pcVar8 = *(code **)(*(long *)(pGVar21->help_initializer_).super_Struct_special.\n                                             option.longname._M_string_length + 0x28)" identifier = (pointer_expression "*(code **)(*(long *)(pGVar21->help_initializer_).super_Struct_special.\n                                             option.longname._M_string_length + 0x28)" * (cast_expression "(code **)(*(long *)(pGVar21->help_initializer_).super_Struct_special.\n                                             option.longname._M_string_length + 0x28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)(pGVar21->help_initializer_).super_Struct_special.\n                                             option.longname._M_string_length + 0x28)" ( (binary_expression "*(long *)(pGVar21->help_initializer_).super_Struct_special.\n                                             option.longname._M_string_length + 0x28" (pointer_expression "*(long *)(pGVar21->help_initializer_).super_Struct_special.\n                                             option.longname._M_string_length" * (cast_expression "(long *)(pGVar21->help_initializer_).super_Struct_special.\n                                             option.longname._M_string_length" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (field_expression "(pGVar21->help_initializer_).super_Struct_special.\n                                             option.longname._M_string_length" (field_expression "(pGVar21->help_initializer_).super_Struct_special.\n                                             option.longname" (field_expression "(pGVar21->help_initializer_).super_Struct_special.\n                                             option" (field_expression "(pGVar21->help_initializer_).super_Struct_special" (parenthesized_expression "(pGVar21->help_initializer_)" ( (field_expression "pGVar21->help_initializer_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier))) + number_literal) ))))) ;) (if_statement "if (pcVar8 == gold::Object::do_pluginobj) goto LAB_0031015a;" if (parenthesized_expression "(pcVar8 == gold::Object::do_pluginobj)" ( (binary_expression "pcVar8 == gold" identifier == identifier) (ERROR "::Object::do_pluginobj" : : identifier : : identifier) )) (goto_statement "goto LAB_0031015a;" goto statement_identifier ;)) comment (expression_statement "lVar24 = (*pcVar8)();" (assignment_expression "lVar24 = (*pcVar8)()" identifier = (call_expression "(*pcVar8)()" (parenthesized_expression "(*pcVar8)" ( (pointer_expression "*pcVar8" * identifier) )) (argument_list "()" ( )))) ;) (if_statement "if (lVar24 == 0) goto LAB_00310438;" if (parenthesized_expression "(lVar24 == 0)" ( (binary_expression "lVar24 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00310438;" goto statement_identifier ;)) })) (labeled_statement "LAB_00310305:\n              iVar19 = (int)pGVar32;" statement_identifier : (expression_statement "iVar19 = (int)pGVar32;" (assignment_expression "iVar19 = (int)pGVar32" identifier = (cast_expression "(int)pGVar32" ( (type_descriptor "int" primitive_type) ) identifier)) ;)) (if_statement "if (gold::parameters->target_ == (Target *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00310818 to 0031084c has its CatchHandler @ 00310922 */\n                gold::do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n              }" if (parenthesized_expression "(gold::parameters->target_ == (Target *)0x0)" ( (ERROR "gold::" identifier : :) (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                    /* try { // try from 00310818 to 0031084c has its CatchHandler @ 00310922 */\n                gold::do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n              }" { comment comment (labeled_statement "gold::do_gold_unreachable("../../gold/parameters.h",0x69,"target");" statement_identifier : (ERROR ":" :) (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 "p_Var3 = gold::parameters->target_->_vptr_Target[7];" (subscript_expression "p_Var3 = gold::parameters->target_->_vptr_Target[7]" (field_expression "p_Var3 = gold::parameters->target_->_vptr_Target" (field_expression "p_Var3 = gold::parameters->target_" (assignment_expression "p_Var3 = gold" identifier = identifier) (ERROR "::parameters" : : identifier) -> field_identifier) -> field_identifier) [ number_literal ]) ;) (if_statement "if (p_Var3 != gold::Target::do_is_defined_by_abi) {\n                pGVar32 = pGVar21;\n                iVar18 = (*p_Var3)();\n                iVar19 = (int)pGVar32;\n                if ((char)iVar18 != '\0') goto LAB_00310438;\n              }" if (parenthesized_expression "(p_Var3 != gold::Target::do_is_defined_by_abi)" ( (ERROR "p_Var3 != gold::Target::" (binary_expression "p_Var3 != gold" identifier != identifier) : : identifier : :) identifier )) (compound_statement "{\n                pGVar32 = pGVar21;\n                iVar18 = (*p_Var3)();\n                iVar19 = (int)pGVar32;\n                if ((char)iVar18 != '\0') goto LAB_00310438;\n              }" { (expression_statement "pGVar32 = pGVar21;" (assignment_expression "pGVar32 = pGVar21" identifier = identifier) ;) (expression_statement "iVar18 = (*p_Var3)();" (assignment_expression "iVar18 = (*p_Var3)()" identifier = (call_expression "(*p_Var3)()" (parenthesized_expression "(*p_Var3)" ( (pointer_expression "*p_Var3" * identifier) )) (argument_list "()" ( )))) ;) (expression_statement "iVar19 = (int)pGVar32;" (assignment_expression "iVar19 = (int)pGVar32" identifier = (cast_expression "(int)pGVar32" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if ((char)iVar18 != '\0') goto LAB_00310438;" if (parenthesized_expression "((char)iVar18 != '\0')" ( (binary_expression "(char)iVar18 != '\0'" (cast_expression "(char)iVar18" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00310438;" goto statement_identifier ;)) })) (expression_statement "pGVar9 = gold::parameters->options_;" (field_expression "pGVar9 = gold::parameters->options_" (assignment_expression "pGVar9 = gold" identifier = identifier) (ERROR "::parameters" : : identifier) -> field_identifier) ;) (if_statement "if (pGVar9 == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }" if (parenthesized_expression "(pGVar9 == (General_options *)0x0)" ( (binary_expression "pGVar9 == (General_options *)0x0" identifier == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n              }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/parameters.h",0x5c,"options");" (call_expression "do_gold_unreachable("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;)) })) (expression_statement "pGVar34 = (General_options *)(pGVar9->unresolved_symbols_).value;" (assignment_expression "pGVar34 = (General_options *)(pGVar9->unresolved_symbols_).value" identifier = (cast_expression "(General_options *)(pGVar9->unresolved_symbols_).value" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(pGVar9->unresolved_symbols_).value" (parenthesized_expression "(pGVar9->unresolved_symbols_)" ( (field_expression "pGVar9->unresolved_symbols_" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "bVar14 = false;" (assignment_expression "bVar14 = false" identifier = false) ;) (expression_statement "bVar40 = pGVar34 == (General_options *)0x0;" (assignment_expression "bVar40 = pGVar34 == (General_options *)0x0" identifier = (binary_expression "pGVar34 == (General_options *)0x0" identifier == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (if_statement "if (bVar40) {\n                bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 1) & 3;\nLAB_003103c9:\n                if ((bVar15 == 2) ||\n                   (((pGVar9->shared_).value == false || ((pGVar9->defs_).value != false))))\n                goto LAB_003103e1;\n                goto LAB_0031043f;\n              }" if (parenthesized_expression "(bVar40)" ( identifier )) (compound_statement "{\n                bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 1) & 3;\nLAB_003103c9:\n                if ((bVar15 == 2) ||\n                   (((pGVar9->shared_).value == false || ((pGVar9->defs_).value != false))))\n                goto LAB_003103e1;\n                goto LAB_0031043f;\n              }" { (expression_statement "bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 1) & 3;" (assignment_expression "bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 1) & 3" identifier = (binary_expression "*(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 1) & 3" (pointer_expression "*(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 1)" * (cast_expression "(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 1)" ( (binary_expression "(long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 1" (cast_expression "(long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring" & (field_expression "(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring" (field_expression "(pGVar21->help_initializer_).super_Struct_special.option" (field_expression "(pGVar21->help_initializer_).super_Struct_special" (parenthesized_expression "(pGVar21->help_initializer_)" ( (field_expression "pGVar21->help_initializer_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier))) + number_literal) )))) & number_literal)) ;) (labeled_statement "LAB_003103c9:\n                if ((bVar15 == 2) ||\n                   (((pGVar9->shared_).value == false || ((pGVar9->defs_).value != false))))\n                goto LAB_003103e1;" statement_identifier : (if_statement "if ((bVar15 == 2) ||\n                   (((pGVar9->shared_).value == false || ((pGVar9->defs_).value != false))))\n                goto LAB_003103e1;" if (parenthesized_expression "((bVar15 == 2) ||\n                   (((pGVar9->shared_).value == false || ((pGVar9->defs_).value != false))))" ( (binary_expression "(bVar15 == 2) ||\n                   (((pGVar9->shared_).value == false || ((pGVar9->defs_).value != false)))" (parenthesized_expression "(bVar15 == 2)" ( (binary_expression "bVar15 == 2" identifier == number_literal) )) || (parenthesized_expression "(((pGVar9->shared_).value == false || ((pGVar9->defs_).value != false)))" ( (parenthesized_expression "((pGVar9->shared_).value == false || ((pGVar9->defs_).value != false))" ( (binary_expression "(pGVar9->shared_).value == false || ((pGVar9->defs_).value != false)" (binary_expression "(pGVar9->shared_).value == false" (field_expression "(pGVar9->shared_).value" (parenthesized_expression "(pGVar9->shared_)" ( (field_expression "pGVar9->shared_" identifier -> field_identifier) )) . field_identifier) == false) || (parenthesized_expression "((pGVar9->defs_).value != false)" ( (binary_expression "(pGVar9->defs_).value != false" (field_expression "(pGVar9->defs_).value" (parenthesized_expression "(pGVar9->defs_)" ( (field_expression "pGVar9->defs_" identifier -> field_identifier) )) . field_identifier) != false) ))) )) ))) )) (goto_statement "goto LAB_003103e1;" goto statement_identifier ;))) (goto_statement "goto LAB_0031043f;" goto statement_identifier ;) })) (expression_statement "lVar24 = 0xb;" (assignment_expression "lVar24 = 0xb" identifier = number_literal) ;) (expression_statement "pGVar33 = pGVar34;" (assignment_expression "pGVar33 = pGVar34" identifier = identifier) ;) (expression_statement "pbVar36 = (byte *)"ignore-all";" (assignment_expression "pbVar36 = (byte *)"ignore-all"" identifier = (cast_expression "(byte *)"ignore-all"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""ignore-all"" " string_content "))) ;) (do_statement "do {\n                pGVar32 = pGVar33;\n                if (lVar24 == 0) break;\n                lVar24 = lVar24 + -1;\n                pGVar32 = (General_options *)((long)pGVar33 + (ulong)bVar41 * -2 + 1);\n                bVar29 = *(byte *)&(pGVar33->help_initializer_).super_Struct_special.\n                                   super_Struct_var._vptr_Struct_var;\n                bVar14 = bVar29 < *pbVar36;\n                bVar40 = bVar29 == *pbVar36;\n                pGVar33 = pGVar32;\n                pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n              } while (bVar40);" do (compound_statement "{\n                pGVar32 = pGVar33;\n                if (lVar24 == 0) break;\n                lVar24 = lVar24 + -1;\n                pGVar32 = (General_options *)((long)pGVar33 + (ulong)bVar41 * -2 + 1);\n                bVar29 = *(byte *)&(pGVar33->help_initializer_).super_Struct_special.\n                                   super_Struct_var._vptr_Struct_var;\n                bVar14 = bVar29 < *pbVar36;\n                bVar40 = bVar29 == *pbVar36;\n                pGVar33 = pGVar32;\n                pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n              }" { (expression_statement "pGVar32 = pGVar33;" (assignment_expression "pGVar32 = pGVar33" identifier = identifier) ;) (if_statement "if (lVar24 == 0) break;" if (parenthesized_expression "(lVar24 == 0)" ( (binary_expression "lVar24 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar24 = lVar24 + -1;" (assignment_expression "lVar24 = lVar24 + -1" identifier = (binary_expression "lVar24 + -1" identifier + number_literal)) ;) (expression_statement "pGVar32 = (General_options *)((long)pGVar33 + (ulong)bVar41 * -2 + 1);" (assignment_expression "pGVar32 = (General_options *)((long)pGVar33 + (ulong)bVar41 * -2 + 1)" identifier = (cast_expression "(General_options *)((long)pGVar33 + (ulong)bVar41 * -2 + 1)" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pGVar33 + (ulong)bVar41 * -2 + 1)" ( (binary_expression "(long)pGVar33 + (ulong)bVar41 * -2 + 1" (binary_expression "(long)pGVar33 + (ulong)bVar41 * -2" (cast_expression "(long)pGVar33" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "(ulong)bVar41 * -2" (cast_expression "(ulong)bVar41" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) (expression_statement "bVar29 = *(byte *)&(pGVar33->help_initializer_).super_Struct_special.\n                                   super_Struct_var._vptr_Struct_var;" (assignment_expression "bVar29 = *(byte *)&(pGVar33->help_initializer_).super_Struct_special.\n                                   super_Struct_var._vptr_Struct_var" identifier = (pointer_expression "*(byte *)&(pGVar33->help_initializer_).super_Struct_special.\n                                   super_Struct_var._vptr_Struct_var" * (cast_expression "(byte *)&(pGVar33->help_initializer_).super_Struct_special.\n                                   super_Struct_var._vptr_Struct_var" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pGVar33->help_initializer_).super_Struct_special.\n                                   super_Struct_var._vptr_Struct_var" & (field_expression "(pGVar33->help_initializer_).super_Struct_special.\n                                   super_Struct_var._vptr_Struct_var" (field_expression "(pGVar33->help_initializer_).super_Struct_special.\n                                   super_Struct_var" (field_expression "(pGVar33->help_initializer_).super_Struct_special" (parenthesized_expression "(pGVar33->help_initializer_)" ( (field_expression "pGVar33->help_initializer_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier))))) ;) (expression_statement "bVar14 = bVar29 < *pbVar36;" (assignment_expression "bVar14 = bVar29 < *pbVar36" identifier = (binary_expression "bVar29 < *pbVar36" identifier < (pointer_expression "*pbVar36" * identifier))) ;) (expression_statement "bVar40 = bVar29 == *pbVar36;" (assignment_expression "bVar40 = bVar29 == *pbVar36" identifier = (binary_expression "bVar29 == *pbVar36" identifier == (pointer_expression "*pbVar36" * identifier))) ;) (expression_statement "pGVar33 = pGVar32;" (assignment_expression "pGVar33 = pGVar32" identifier = identifier) ;) (expression_statement "pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;" (assignment_expression "pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1" identifier = (binary_expression "pbVar36 + (ulong)bVar41 * -2 + 1" (binary_expression "pbVar36 + (ulong)bVar41 * -2" identifier + (binary_expression "(ulong)bVar41 * -2" (cast_expression "(ulong)bVar41" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar40)" ( identifier )) ;) (expression_statement "bVar39 = false;" (assignment_expression "bVar39 = false" identifier = false) ;) (expression_statement "bVar14 = (!bVar14 && !bVar40) == bVar14;" (assignment_expression "bVar14 = (!bVar14 && !bVar40) == bVar14" identifier = (binary_expression "(!bVar14 && !bVar40) == bVar14" (parenthesized_expression "(!bVar14 && !bVar40)" ( (binary_expression "!bVar14 && !bVar40" (unary_expression "!bVar14" ! identifier) && (unary_expression "!bVar40" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar14) goto LAB_00310438;" if (parenthesized_expression "(bVar14)" ( identifier )) (goto_statement "goto LAB_00310438;" goto statement_identifier ;)) (expression_statement "lVar24 = 0xb;" (assignment_expression "lVar24 = 0xb" identifier = number_literal) ;) (expression_statement "pGVar32 = pGVar34;" (assignment_expression "pGVar32 = pGVar34" identifier = identifier) ;) (expression_statement "pbVar36 = (byte *)"report-all";" (assignment_expression "pbVar36 = (byte *)"report-all"" identifier = (cast_expression "(byte *)"report-all"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""report-all"" " string_content "))) ;) (do_statement "do {\n                if (lVar24 == 0) break;\n                lVar24 = lVar24 + -1;\n                bVar29 = *(byte *)&(pGVar32->help_initializer_).super_Struct_special.\n                                   super_Struct_var._vptr_Struct_var;\n                bVar39 = bVar29 < *pbVar36;\n                bVar14 = bVar29 == *pbVar36;\n                pGVar32 = (General_options *)((long)pGVar32 + (ulong)bVar41 * -2 + 1);\n                pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n              } while (bVar14);" do (compound_statement "{\n                if (lVar24 == 0) break;\n                lVar24 = lVar24 + -1;\n                bVar29 = *(byte *)&(pGVar32->help_initializer_).super_Struct_special.\n                                   super_Struct_var._vptr_Struct_var;\n                bVar39 = bVar29 < *pbVar36;\n                bVar14 = bVar29 == *pbVar36;\n                pGVar32 = (General_options *)((long)pGVar32 + (ulong)bVar41 * -2 + 1);\n                pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n              }" { (if_statement "if (lVar24 == 0) break;" if (parenthesized_expression "(lVar24 == 0)" ( (binary_expression "lVar24 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar24 = lVar24 + -1;" (assignment_expression "lVar24 = lVar24 + -1" identifier = (binary_expression "lVar24 + -1" identifier + number_literal)) ;) (expression_statement "bVar29 = *(byte *)&(pGVar32->help_initializer_).super_Struct_special.\n                                   super_Struct_var._vptr_Struct_var;" (assignment_expression "bVar29 = *(byte *)&(pGVar32->help_initializer_).super_Struct_special.\n                                   super_Struct_var._vptr_Struct_var" identifier = (pointer_expression "*(byte *)&(pGVar32->help_initializer_).super_Struct_special.\n                                   super_Struct_var._vptr_Struct_var" * (cast_expression "(byte *)&(pGVar32->help_initializer_).super_Struct_special.\n                                   super_Struct_var._vptr_Struct_var" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pGVar32->help_initializer_).super_Struct_special.\n                                   super_Struct_var._vptr_Struct_var" & (field_expression "(pGVar32->help_initializer_).super_Struct_special.\n                                   super_Struct_var._vptr_Struct_var" (field_expression "(pGVar32->help_initializer_).super_Struct_special.\n                                   super_Struct_var" (field_expression "(pGVar32->help_initializer_).super_Struct_special" (parenthesized_expression "(pGVar32->help_initializer_)" ( (field_expression "pGVar32->help_initializer_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier))))) ;) (expression_statement "bVar39 = bVar29 < *pbVar36;" (assignment_expression "bVar39 = bVar29 < *pbVar36" identifier = (binary_expression "bVar29 < *pbVar36" identifier < (pointer_expression "*pbVar36" * identifier))) ;) (expression_statement "bVar14 = bVar29 == *pbVar36;" (assignment_expression "bVar14 = bVar29 == *pbVar36" identifier = (binary_expression "bVar29 == *pbVar36" identifier == (pointer_expression "*pbVar36" * identifier))) ;) (expression_statement "pGVar32 = (General_options *)((long)pGVar32 + (ulong)bVar41 * -2 + 1);" (assignment_expression "pGVar32 = (General_options *)((long)pGVar32 + (ulong)bVar41 * -2 + 1)" identifier = (cast_expression "(General_options *)((long)pGVar32 + (ulong)bVar41 * -2 + 1)" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pGVar32 + (ulong)bVar41 * -2 + 1)" ( (binary_expression "(long)pGVar32 + (ulong)bVar41 * -2 + 1" (binary_expression "(long)pGVar32 + (ulong)bVar41 * -2" (cast_expression "(long)pGVar32" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "(ulong)bVar41 * -2" (cast_expression "(ulong)bVar41" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) (expression_statement "pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;" (assignment_expression "pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1" identifier = (binary_expression "pbVar36 + (ulong)bVar41 * -2 + 1" (binary_expression "pbVar36 + (ulong)bVar41 * -2" identifier + (binary_expression "(ulong)bVar41 * -2" (cast_expression "(ulong)bVar41" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar14)" ( identifier )) ;) (expression_statement "bVar40 = false;" (assignment_expression "bVar40 = false" identifier = false) ;) (expression_statement "bVar14 = (!bVar39 && !bVar14) == bVar39;" (assignment_expression "bVar14 = (!bVar39 && !bVar14) == bVar39" identifier = (binary_expression "(!bVar39 && !bVar14) == bVar39" (parenthesized_expression "(!bVar39 && !bVar14)" ( (binary_expression "!bVar39 && !bVar14" (unary_expression "!bVar39" ! identifier) && (unary_expression "!bVar14" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar14) {\n                lVar24 = 0x17;\n                pGVar32 = pGVar34;\n                pbVar36 = (byte *)"ignore-in-object-files";\n                do {\n                  pGVar33 = pGVar32;\n                  if (lVar24 == 0) break;\n                  lVar24 = lVar24 + -1;\n                  pGVar33 = (General_options *)((long)pGVar32 + (ulong)bVar41 * -2 + 1);\n                  bVar29 = *(byte *)&(pGVar32->help_initializer_).super_Struct_special.\n                                     super_Struct_var._vptr_Struct_var;\n                  bVar40 = bVar29 < *pbVar36;\n                  bVar14 = bVar29 == *pbVar36;\n                  pGVar32 = pGVar33;\n                  pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                } while (bVar14);\n                iVar19 = (int)pGVar33;\n                bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 1) & 3;\n                bVar14 = (!bVar40 && !bVar14) == bVar40;\n                if ((!bVar14) ||\n                   (bVar14 = ((ulong)(pGVar21->help_initializer_).super_Struct_special.option.\n                                     helpstring & 0x1000000) == 0, !bVar14)) {\n                  bVar40 = false;\n                  lVar24 = 0x16;\n                  pbVar36 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    pGVar32 = pGVar34;\n                    if (lVar24 == 0) break;\n                    lVar24 = lVar24 + -1;\n                    pGVar32 = (General_options *)((long)pGVar34 + (ulong)bVar41 * -2 + 1);\n                    bVar29 = *(byte *)&(pGVar34->help_initializer_).super_Struct_special.\n                                       super_Struct_var._vptr_Struct_var;\n                    bVar40 = bVar29 < *pbVar36;\n                    bVar14 = bVar29 == *pbVar36;\n                    pGVar34 = pGVar32;\n                    pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                  } while (bVar14);\n                  iVar19 = (int)pGVar32;\n                  if (((!bVar40 && !bVar14) != bVar40) ||\n                     (*(char *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                       helpstring + 2) < '\0')) goto LAB_003103c9;\n                }\n                goto LAB_0031043f;\n              }" if (parenthesized_expression "(!bVar14)" ( (unary_expression "!bVar14" ! identifier) )) (compound_statement "{\n                lVar24 = 0x17;\n                pGVar32 = pGVar34;\n                pbVar36 = (byte *)"ignore-in-object-files";\n                do {\n                  pGVar33 = pGVar32;\n                  if (lVar24 == 0) break;\n                  lVar24 = lVar24 + -1;\n                  pGVar33 = (General_options *)((long)pGVar32 + (ulong)bVar41 * -2 + 1);\n                  bVar29 = *(byte *)&(pGVar32->help_initializer_).super_Struct_special.\n                                     super_Struct_var._vptr_Struct_var;\n                  bVar40 = bVar29 < *pbVar36;\n                  bVar14 = bVar29 == *pbVar36;\n                  pGVar32 = pGVar33;\n                  pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                } while (bVar14);\n                iVar19 = (int)pGVar33;\n                bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 1) & 3;\n                bVar14 = (!bVar40 && !bVar14) == bVar40;\n                if ((!bVar14) ||\n                   (bVar14 = ((ulong)(pGVar21->help_initializer_).super_Struct_special.option.\n                                     helpstring & 0x1000000) == 0, !bVar14)) {\n                  bVar40 = false;\n                  lVar24 = 0x16;\n                  pbVar36 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    pGVar32 = pGVar34;\n                    if (lVar24 == 0) break;\n                    lVar24 = lVar24 + -1;\n                    pGVar32 = (General_options *)((long)pGVar34 + (ulong)bVar41 * -2 + 1);\n                    bVar29 = *(byte *)&(pGVar34->help_initializer_).super_Struct_special.\n                                       super_Struct_var._vptr_Struct_var;\n                    bVar40 = bVar29 < *pbVar36;\n                    bVar14 = bVar29 == *pbVar36;\n                    pGVar34 = pGVar32;\n                    pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                  } while (bVar14);\n                  iVar19 = (int)pGVar32;\n                  if (((!bVar40 && !bVar14) != bVar40) ||\n                     (*(char *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                       helpstring + 2) < '\0')) goto LAB_003103c9;\n                }\n                goto LAB_0031043f;\n              }" { (expression_statement "lVar24 = 0x17;" (assignment_expression "lVar24 = 0x17" identifier = number_literal) ;) (expression_statement "pGVar32 = pGVar34;" (assignment_expression "pGVar32 = pGVar34" identifier = identifier) ;) (expression_statement "pbVar36 = (byte *)"ignore-in-object-files";" (assignment_expression "pbVar36 = (byte *)"ignore-in-object-files"" identifier = (cast_expression "(byte *)"ignore-in-object-files"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""ignore-in-object-files"" " string_content "))) ;) (do_statement "do {\n                  pGVar33 = pGVar32;\n                  if (lVar24 == 0) break;\n                  lVar24 = lVar24 + -1;\n                  pGVar33 = (General_options *)((long)pGVar32 + (ulong)bVar41 * -2 + 1);\n                  bVar29 = *(byte *)&(pGVar32->help_initializer_).super_Struct_special.\n                                     super_Struct_var._vptr_Struct_var;\n                  bVar40 = bVar29 < *pbVar36;\n                  bVar14 = bVar29 == *pbVar36;\n                  pGVar32 = pGVar33;\n                  pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                } while (bVar14);" do (compound_statement "{\n                  pGVar33 = pGVar32;\n                  if (lVar24 == 0) break;\n                  lVar24 = lVar24 + -1;\n                  pGVar33 = (General_options *)((long)pGVar32 + (ulong)bVar41 * -2 + 1);\n                  bVar29 = *(byte *)&(pGVar32->help_initializer_).super_Struct_special.\n                                     super_Struct_var._vptr_Struct_var;\n                  bVar40 = bVar29 < *pbVar36;\n                  bVar14 = bVar29 == *pbVar36;\n                  pGVar32 = pGVar33;\n                  pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                }" { (expression_statement "pGVar33 = pGVar32;" (assignment_expression "pGVar33 = pGVar32" identifier = identifier) ;) (if_statement "if (lVar24 == 0) break;" if (parenthesized_expression "(lVar24 == 0)" ( (binary_expression "lVar24 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar24 = lVar24 + -1;" (assignment_expression "lVar24 = lVar24 + -1" identifier = (binary_expression "lVar24 + -1" identifier + number_literal)) ;) (expression_statement "pGVar33 = (General_options *)((long)pGVar32 + (ulong)bVar41 * -2 + 1);" (assignment_expression "pGVar33 = (General_options *)((long)pGVar32 + (ulong)bVar41 * -2 + 1)" identifier = (cast_expression "(General_options *)((long)pGVar32 + (ulong)bVar41 * -2 + 1)" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pGVar32 + (ulong)bVar41 * -2 + 1)" ( (binary_expression "(long)pGVar32 + (ulong)bVar41 * -2 + 1" (binary_expression "(long)pGVar32 + (ulong)bVar41 * -2" (cast_expression "(long)pGVar32" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "(ulong)bVar41 * -2" (cast_expression "(ulong)bVar41" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) (expression_statement "bVar29 = *(byte *)&(pGVar32->help_initializer_).super_Struct_special.\n                                     super_Struct_var._vptr_Struct_var;" (assignment_expression "bVar29 = *(byte *)&(pGVar32->help_initializer_).super_Struct_special.\n                                     super_Struct_var._vptr_Struct_var" identifier = (pointer_expression "*(byte *)&(pGVar32->help_initializer_).super_Struct_special.\n                                     super_Struct_var._vptr_Struct_var" * (cast_expression "(byte *)&(pGVar32->help_initializer_).super_Struct_special.\n                                     super_Struct_var._vptr_Struct_var" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pGVar32->help_initializer_).super_Struct_special.\n                                     super_Struct_var._vptr_Struct_var" & (field_expression "(pGVar32->help_initializer_).super_Struct_special.\n                                     super_Struct_var._vptr_Struct_var" (field_expression "(pGVar32->help_initializer_).super_Struct_special.\n                                     super_Struct_var" (field_expression "(pGVar32->help_initializer_).super_Struct_special" (parenthesized_expression "(pGVar32->help_initializer_)" ( (field_expression "pGVar32->help_initializer_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier))))) ;) (expression_statement "bVar40 = bVar29 < *pbVar36;" (assignment_expression "bVar40 = bVar29 < *pbVar36" identifier = (binary_expression "bVar29 < *pbVar36" identifier < (pointer_expression "*pbVar36" * identifier))) ;) (expression_statement "bVar14 = bVar29 == *pbVar36;" (assignment_expression "bVar14 = bVar29 == *pbVar36" identifier = (binary_expression "bVar29 == *pbVar36" identifier == (pointer_expression "*pbVar36" * identifier))) ;) (expression_statement "pGVar32 = pGVar33;" (assignment_expression "pGVar32 = pGVar33" identifier = identifier) ;) (expression_statement "pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;" (assignment_expression "pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1" identifier = (binary_expression "pbVar36 + (ulong)bVar41 * -2 + 1" (binary_expression "pbVar36 + (ulong)bVar41 * -2" identifier + (binary_expression "(ulong)bVar41 * -2" (cast_expression "(ulong)bVar41" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar14)" ( identifier )) ;) (expression_statement "iVar19 = (int)pGVar33;" (assignment_expression "iVar19 = (int)pGVar33" identifier = (cast_expression "(int)pGVar33" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 1) & 3;" (assignment_expression "bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 1) & 3" identifier = (binary_expression "*(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 1) & 3" (pointer_expression "*(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 1)" * (cast_expression "(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 1)" ( (binary_expression "(long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring + 1" (cast_expression "(long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring" & (field_expression "(pGVar21->help_initializer_).super_Struct_special.option.\n                                          helpstring" (field_expression "(pGVar21->help_initializer_).super_Struct_special.option" (field_expression "(pGVar21->help_initializer_).super_Struct_special" (parenthesized_expression "(pGVar21->help_initializer_)" ( (field_expression "pGVar21->help_initializer_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier))) + number_literal) )))) & number_literal)) ;) (expression_statement "bVar14 = (!bVar40 && !bVar14) == bVar40;" (assignment_expression "bVar14 = (!bVar40 && !bVar14) == bVar40" identifier = (binary_expression "(!bVar40 && !bVar14) == bVar40" (parenthesized_expression "(!bVar40 && !bVar14)" ( (binary_expression "!bVar40 && !bVar14" (unary_expression "!bVar40" ! identifier) && (unary_expression "!bVar14" ! identifier)) )) == identifier)) ;) (if_statement "if ((!bVar14) ||\n                   (bVar14 = ((ulong)(pGVar21->help_initializer_).super_Struct_special.option.\n                                     helpstring & 0x1000000) == 0, !bVar14)) {\n                  bVar40 = false;\n                  lVar24 = 0x16;\n                  pbVar36 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    pGVar32 = pGVar34;\n                    if (lVar24 == 0) break;\n                    lVar24 = lVar24 + -1;\n                    pGVar32 = (General_options *)((long)pGVar34 + (ulong)bVar41 * -2 + 1);\n                    bVar29 = *(byte *)&(pGVar34->help_initializer_).super_Struct_special.\n                                       super_Struct_var._vptr_Struct_var;\n                    bVar40 = bVar29 < *pbVar36;\n                    bVar14 = bVar29 == *pbVar36;\n                    pGVar34 = pGVar32;\n                    pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                  } while (bVar14);\n                  iVar19 = (int)pGVar32;\n                  if (((!bVar40 && !bVar14) != bVar40) ||\n                     (*(char *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                       helpstring + 2) < '\0')) goto LAB_003103c9;\n                }" if (parenthesized_expression "((!bVar14) ||\n                   (bVar14 = ((ulong)(pGVar21->help_initializer_).super_Struct_special.option.\n                                     helpstring & 0x1000000) == 0, !bVar14))" ( (binary_expression "(!bVar14) ||\n                   (bVar14 = ((ulong)(pGVar21->help_initializer_).super_Struct_special.option.\n                                     helpstring & 0x1000000) == 0, !bVar14)" (parenthesized_expression "(!bVar14)" ( (unary_expression "!bVar14" ! identifier) )) || (parenthesized_expression "(bVar14 = ((ulong)(pGVar21->help_initializer_).super_Struct_special.option.\n                                     helpstring & 0x1000000) == 0, !bVar14)" ( (comma_expression "bVar14 = ((ulong)(pGVar21->help_initializer_).super_Struct_special.option.\n                                     helpstring & 0x1000000) == 0, !bVar14" (assignment_expression "bVar14 = ((ulong)(pGVar21->help_initializer_).super_Struct_special.option.\n                                     helpstring & 0x1000000) == 0" identifier = (binary_expression "((ulong)(pGVar21->help_initializer_).super_Struct_special.option.\n                                     helpstring & 0x1000000) == 0" (parenthesized_expression "((ulong)(pGVar21->help_initializer_).super_Struct_special.option.\n                                     helpstring & 0x1000000)" ( (binary_expression "(ulong)(pGVar21->help_initializer_).super_Struct_special.option.\n                                     helpstring & 0x1000000" (field_expression "(ulong)(pGVar21->help_initializer_).super_Struct_special.option.\n                                     helpstring" (field_expression "(ulong)(pGVar21->help_initializer_).super_Struct_special.option" (field_expression "(ulong)(pGVar21->help_initializer_).super_Struct_special" (call_expression "(ulong)(pGVar21->help_initializer_)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(pGVar21->help_initializer_)" ( (field_expression "pGVar21->help_initializer_" identifier -> field_identifier) ))) . field_identifier) . field_identifier) . field_identifier) & number_literal) )) == number_literal)) , (unary_expression "!bVar14" ! identifier)) ))) )) (compound_statement "{\n                  bVar40 = false;\n                  lVar24 = 0x16;\n                  pbVar36 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    pGVar32 = pGVar34;\n                    if (lVar24 == 0) break;\n                    lVar24 = lVar24 + -1;\n                    pGVar32 = (General_options *)((long)pGVar34 + (ulong)bVar41 * -2 + 1);\n                    bVar29 = *(byte *)&(pGVar34->help_initializer_).super_Struct_special.\n                                       super_Struct_var._vptr_Struct_var;\n                    bVar40 = bVar29 < *pbVar36;\n                    bVar14 = bVar29 == *pbVar36;\n                    pGVar34 = pGVar32;\n                    pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                  } while (bVar14);\n                  iVar19 = (int)pGVar32;\n                  if (((!bVar40 && !bVar14) != bVar40) ||\n                     (*(char *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                       helpstring + 2) < '\0')) goto LAB_003103c9;\n                }" { (expression_statement "bVar40 = false;" (assignment_expression "bVar40 = false" identifier = false) ;) (expression_statement "lVar24 = 0x16;" (assignment_expression "lVar24 = 0x16" identifier = number_literal) ;) (expression_statement "pbVar36 = (byte *)"ignore-in-shared-libs";" (assignment_expression "pbVar36 = (byte *)"ignore-in-shared-libs"" identifier = (cast_expression "(byte *)"ignore-in-shared-libs"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""ignore-in-shared-libs"" " string_content "))) ;) (do_statement "do {\n                    pGVar32 = pGVar34;\n                    if (lVar24 == 0) break;\n                    lVar24 = lVar24 + -1;\n                    pGVar32 = (General_options *)((long)pGVar34 + (ulong)bVar41 * -2 + 1);\n                    bVar29 = *(byte *)&(pGVar34->help_initializer_).super_Struct_special.\n                                       super_Struct_var._vptr_Struct_var;\n                    bVar40 = bVar29 < *pbVar36;\n                    bVar14 = bVar29 == *pbVar36;\n                    pGVar34 = pGVar32;\n                    pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                  } while (bVar14);" do (compound_statement "{\n                    pGVar32 = pGVar34;\n                    if (lVar24 == 0) break;\n                    lVar24 = lVar24 + -1;\n                    pGVar32 = (General_options *)((long)pGVar34 + (ulong)bVar41 * -2 + 1);\n                    bVar29 = *(byte *)&(pGVar34->help_initializer_).super_Struct_special.\n                                       super_Struct_var._vptr_Struct_var;\n                    bVar40 = bVar29 < *pbVar36;\n                    bVar14 = bVar29 == *pbVar36;\n                    pGVar34 = pGVar32;\n                    pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;\n                  }" { (expression_statement "pGVar32 = pGVar34;" (assignment_expression "pGVar32 = pGVar34" identifier = identifier) ;) (if_statement "if (lVar24 == 0) break;" if (parenthesized_expression "(lVar24 == 0)" ( (binary_expression "lVar24 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar24 = lVar24 + -1;" (assignment_expression "lVar24 = lVar24 + -1" identifier = (binary_expression "lVar24 + -1" identifier + number_literal)) ;) (expression_statement "pGVar32 = (General_options *)((long)pGVar34 + (ulong)bVar41 * -2 + 1);" (assignment_expression "pGVar32 = (General_options *)((long)pGVar34 + (ulong)bVar41 * -2 + 1)" identifier = (cast_expression "(General_options *)((long)pGVar34 + (ulong)bVar41 * -2 + 1)" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)pGVar34 + (ulong)bVar41 * -2 + 1)" ( (binary_expression "(long)pGVar34 + (ulong)bVar41 * -2 + 1" (binary_expression "(long)pGVar34 + (ulong)bVar41 * -2" (cast_expression "(long)pGVar34" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "(ulong)bVar41 * -2" (cast_expression "(ulong)bVar41" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) (expression_statement "bVar29 = *(byte *)&(pGVar34->help_initializer_).super_Struct_special.\n                                       super_Struct_var._vptr_Struct_var;" (assignment_expression "bVar29 = *(byte *)&(pGVar34->help_initializer_).super_Struct_special.\n                                       super_Struct_var._vptr_Struct_var" identifier = (pointer_expression "*(byte *)&(pGVar34->help_initializer_).super_Struct_special.\n                                       super_Struct_var._vptr_Struct_var" * (cast_expression "(byte *)&(pGVar34->help_initializer_).super_Struct_special.\n                                       super_Struct_var._vptr_Struct_var" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pGVar34->help_initializer_).super_Struct_special.\n                                       super_Struct_var._vptr_Struct_var" & (field_expression "(pGVar34->help_initializer_).super_Struct_special.\n                                       super_Struct_var._vptr_Struct_var" (field_expression "(pGVar34->help_initializer_).super_Struct_special.\n                                       super_Struct_var" (field_expression "(pGVar34->help_initializer_).super_Struct_special" (parenthesized_expression "(pGVar34->help_initializer_)" ( (field_expression "pGVar34->help_initializer_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier))))) ;) (expression_statement "bVar40 = bVar29 < *pbVar36;" (assignment_expression "bVar40 = bVar29 < *pbVar36" identifier = (binary_expression "bVar29 < *pbVar36" identifier < (pointer_expression "*pbVar36" * identifier))) ;) (expression_statement "bVar14 = bVar29 == *pbVar36;" (assignment_expression "bVar14 = bVar29 == *pbVar36" identifier = (binary_expression "bVar29 == *pbVar36" identifier == (pointer_expression "*pbVar36" * identifier))) ;) (expression_statement "pGVar34 = pGVar32;" (assignment_expression "pGVar34 = pGVar32" identifier = identifier) ;) (expression_statement "pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1;" (assignment_expression "pbVar36 = pbVar36 + (ulong)bVar41 * -2 + 1" identifier = (binary_expression "pbVar36 + (ulong)bVar41 * -2 + 1" (binary_expression "pbVar36 + (ulong)bVar41 * -2" identifier + (binary_expression "(ulong)bVar41 * -2" (cast_expression "(ulong)bVar41" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar14)" ( identifier )) ;) (expression_statement "iVar19 = (int)pGVar32;" (assignment_expression "iVar19 = (int)pGVar32" identifier = (cast_expression "(int)pGVar32" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (((!bVar40 && !bVar14) != bVar40) ||\n                     (*(char *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                       helpstring + 2) < '\0')) goto LAB_003103c9;" if (parenthesized_expression "(((!bVar40 && !bVar14) != bVar40) ||\n                     (*(char *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                       helpstring + 2) < '\0'))" ( (binary_expression "((!bVar40 && !bVar14) != bVar40) ||\n                     (*(char *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                       helpstring + 2) < '\0')" (parenthesized_expression "((!bVar40 && !bVar14) != bVar40)" ( (binary_expression "(!bVar40 && !bVar14) != bVar40" (parenthesized_expression "(!bVar40 && !bVar14)" ( (binary_expression "!bVar40 && !bVar14" (unary_expression "!bVar40" ! identifier) && (unary_expression "!bVar14" ! identifier)) )) != identifier) )) || (parenthesized_expression "(*(char *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                       helpstring + 2) < '\0')" ( (binary_expression "*(char *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                       helpstring + 2) < '\0'" (pointer_expression "*(char *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                       helpstring + 2)" * (cast_expression "(char *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                       helpstring + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                       helpstring + 2)" ( (binary_expression "(long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                       helpstring + 2" (cast_expression "(long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                       helpstring" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&(pGVar21->help_initializer_).super_Struct_special.option.\n                                       helpstring" & (field_expression "(pGVar21->help_initializer_).super_Struct_special.option.\n                                       helpstring" (field_expression "(pGVar21->help_initializer_).super_Struct_special.option" (field_expression "(pGVar21->help_initializer_).super_Struct_special" (parenthesized_expression "(pGVar21->help_initializer_)" ( (field_expression "pGVar21->help_initializer_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier))) + number_literal) )))) < (char_literal "'\0'" ' escape_sequence ')) ))) )) (goto_statement "goto LAB_003103c9;" goto statement_identifier ;)) })) (goto_statement "goto LAB_0031043f;" goto statement_identifier ;) })) (labeled_statement "LAB_003103e1:\n              pRVar35 = relinfo;" statement_identifier : (expression_statement "pRVar35 = relinfo;" (assignment_expression "pRVar35 = relinfo" identifier = identifier) ;)) (labeled_statement "gold::gold_undefined_symbol_at_location<32,_true>\n                        ((Symbol *)pGVar21,relinfo,(size_t)local_148,local_140);" statement_identifier : (ERROR ":" :) (expression_statement "gold_undefined_symbol_at_location<32,_true>\n                        ((Symbol *)pGVar21,relinfo,(size_t)local_148,local_140);" (comma_expression "gold_undefined_symbol_at_location<32,_true>\n                        ((Symbol *)pGVar21,relinfo,(size_t)local_148,local_140)" (binary_expression "gold_undefined_symbol_at_location<32" identifier < number_literal) , (binary_expression "_true>\n                        ((Symbol *)pGVar21,relinfo,(size_t)local_148,local_140)" identifier > (parenthesized_expression "((Symbol *)pGVar21,relinfo,(size_t)local_148,local_140)" ( (comma_expression "(Symbol *)pGVar21,relinfo,(size_t)local_148,local_140" (cast_expression "(Symbol *)pGVar21" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (comma_expression "relinfo,(size_t)local_148,local_140" identifier , (comma_expression "(size_t)local_148,local_140" (cast_expression "(size_t)local_148" ( (type_descriptor "size_t" primitive_type) ) identifier) , identifier))) )))) ;)) (expression_statement "iVar19 = (int)pRVar35;" (assignment_expression "iVar19 = (int)pRVar35" identifier = (cast_expression "(int)pRVar35" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                        helpstring + 3);" (assignment_expression "bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                        helpstring + 3)" identifier = (pointer_expression "*(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                        helpstring + 3)" * (cast_expression "(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                        helpstring + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                        helpstring + 3)" ( (binary_expression "(long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                        helpstring + 3" (cast_expression "(long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                        helpstring" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&(pGVar21->help_initializer_).super_Struct_special.option.\n                                        helpstring" & (field_expression "(pGVar21->help_initializer_).super_Struct_special.option.\n                                        helpstring" (field_expression "(pGVar21->help_initializer_).super_Struct_special.option" (field_expression "(pGVar21->help_initializer_).super_Struct_special" (parenthesized_expression "(pGVar21->help_initializer_)" ( (field_expression "pGVar21->help_initializer_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier))) + number_literal) ))))) ;) }) (else_clause "else {\n              if (bVar15 == 4) goto LAB_0031020c;\nLAB_00310260:\n              iVar19 = (int)pGVar32;\n              bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                        helpstring + 1);\n              if ((bVar15 & 3) != 0) {\nLAB_0031026d:\n                bVar15 = bVar15 & 3;\n                bVar29 = bVar29 & 7;\nLAB_00310270:\n                if (((bVar29 == 4) &&\n                    (*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring\n                     >> 4 != 2)) &&\n                   (bVar29 = 4,\n                   ((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                   0x200000000) == 0)) goto LAB_00310293;\n              }\nLAB_003101c0:\n              bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                        helpstring + 3);\n            }" else (compound_statement "{\n              if (bVar15 == 4) goto LAB_0031020c;\nLAB_00310260:\n              iVar19 = (int)pGVar32;\n              bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                        helpstring + 1);\n              if ((bVar15 & 3) != 0) {\nLAB_0031026d:\n                bVar15 = bVar15 & 3;\n                bVar29 = bVar29 & 7;\nLAB_00310270:\n                if (((bVar29 == 4) &&\n                    (*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring\n                     >> 4 != 2)) &&\n                   (bVar29 = 4,\n                   ((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                   0x200000000) == 0)) goto LAB_00310293;\n              }\nLAB_003101c0:\n              bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                        helpstring + 3);\n            }" { (if_statement "if (bVar15 == 4) goto LAB_0031020c;" if (parenthesized_expression "(bVar15 == 4)" ( (binary_expression "bVar15 == 4" identifier == number_literal) )) (goto_statement "goto LAB_0031020c;" goto statement_identifier ;)) (labeled_statement "LAB_00310260:\n              iVar19 = (int)pGVar32;" statement_identifier : (expression_statement "iVar19 = (int)pGVar32;" (assignment_expression "iVar19 = (int)pGVar32" identifier = (cast_expression "(int)pGVar32" ( (type_descriptor "int" primitive_type) ) identifier)) ;)) (expression_statement "bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                        helpstring + 1);" (assignment_expression "bVar15 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                        helpstring + 1)" identifier = (pointer_expression "*(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                        helpstring + 1)" * (cast_expression "(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                        helpstring + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                        helpstring + 1)" ( (binary_expression "(long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                        helpstring + 1" (cast_expression "(long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                        helpstring" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&(pGVar21->help_initializer_).super_Struct_special.option.\n                                        helpstring" & (field_expression "(pGVar21->help_initializer_).super_Struct_special.option.\n                                        helpstring" (field_expression "(pGVar21->help_initializer_).super_Struct_special.option" (field_expression "(pGVar21->help_initializer_).super_Struct_special" (parenthesized_expression "(pGVar21->help_initializer_)" ( (field_expression "pGVar21->help_initializer_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier))) + number_literal) ))))) ;) (if_statement "if ((bVar15 & 3) != 0) {\nLAB_0031026d:\n                bVar15 = bVar15 & 3;\n                bVar29 = bVar29 & 7;\nLAB_00310270:\n                if (((bVar29 == 4) &&\n                    (*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring\n                     >> 4 != 2)) &&\n                   (bVar29 = 4,\n                   ((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                   0x200000000) == 0)) goto LAB_00310293;\n              }" if (parenthesized_expression "((bVar15 & 3) != 0)" ( (binary_expression "(bVar15 & 3) != 0" (parenthesized_expression "(bVar15 & 3)" ( (binary_expression "bVar15 & 3" identifier & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_0031026d:\n                bVar15 = bVar15 & 3;\n                bVar29 = bVar29 & 7;\nLAB_00310270:\n                if (((bVar29 == 4) &&\n                    (*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring\n                     >> 4 != 2)) &&\n                   (bVar29 = 4,\n                   ((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                   0x200000000) == 0)) goto LAB_00310293;\n              }" { (labeled_statement "LAB_0031026d:\n                bVar15 = bVar15 & 3;" statement_identifier : (expression_statement "bVar15 = bVar15 & 3;" (assignment_expression "bVar15 = bVar15 & 3" identifier = (binary_expression "bVar15 & 3" identifier & number_literal)) ;)) (expression_statement "bVar29 = bVar29 & 7;" (assignment_expression "bVar29 = bVar29 & 7" identifier = (binary_expression "bVar29 & 7" identifier & number_literal)) ;) (labeled_statement "LAB_00310270:\n                if (((bVar29 == 4) &&\n                    (*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring\n                     >> 4 != 2)) &&\n                   (bVar29 = 4,\n                   ((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                   0x200000000) == 0)) goto LAB_00310293;" statement_identifier : (if_statement "if (((bVar29 == 4) &&\n                    (*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring\n                     >> 4 != 2)) &&\n                   (bVar29 = 4,\n                   ((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                   0x200000000) == 0)) goto LAB_00310293;" if (parenthesized_expression "(((bVar29 == 4) &&\n                    (*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring\n                     >> 4 != 2)) &&\n                   (bVar29 = 4,\n                   ((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                   0x200000000) == 0))" ( (binary_expression "((bVar29 == 4) &&\n                    (*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring\n                     >> 4 != 2)) &&\n                   (bVar29 = 4,\n                   ((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                   0x200000000) == 0)" (parenthesized_expression "((bVar29 == 4) &&\n                    (*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring\n                     >> 4 != 2))" ( (binary_expression "(bVar29 == 4) &&\n                    (*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring\n                     >> 4 != 2)" (parenthesized_expression "(bVar29 == 4)" ( (binary_expression "bVar29 == 4" identifier == number_literal) )) && (parenthesized_expression "(*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring\n                     >> 4 != 2)" ( (binary_expression "*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring\n                     >> 4 != 2" (binary_expression "*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring\n                     >> 4" (pointer_expression "*(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring" * (cast_expression "(byte *)&(pGVar21->help_initializer_).super_Struct_special.option.helpstring" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pGVar21->help_initializer_).super_Struct_special.option.helpstring" & (field_expression "(pGVar21->help_initializer_).super_Struct_special.option.helpstring" (field_expression "(pGVar21->help_initializer_).super_Struct_special.option" (field_expression "(pGVar21->help_initializer_).super_Struct_special" (parenthesized_expression "(pGVar21->help_initializer_)" ( (field_expression "pGVar21->help_initializer_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier)))) >> number_literal) != number_literal) ))) )) && (parenthesized_expression "(bVar29 = 4,\n                   ((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                   0x200000000) == 0)" ( (comma_expression "bVar29 = 4,\n                   ((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                   0x200000000) == 0" (assignment_expression "bVar29 = 4" identifier = number_literal) , (binary_expression "((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                   0x200000000) == 0" (parenthesized_expression "((ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                   0x200000000)" ( (binary_expression "(ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring &\n                   0x200000000" (field_expression "(ulong)(pGVar21->help_initializer_).super_Struct_special.option.helpstring" (field_expression "(ulong)(pGVar21->help_initializer_).super_Struct_special.option" (field_expression "(ulong)(pGVar21->help_initializer_).super_Struct_special" (call_expression "(ulong)(pGVar21->help_initializer_)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(pGVar21->help_initializer_)" ( (field_expression "pGVar21->help_initializer_" identifier -> field_identifier) ))) . field_identifier) . field_identifier) . field_identifier) & number_literal) )) == number_literal)) ))) )) (goto_statement "goto LAB_00310293;" goto statement_identifier ;))) })) (labeled_statement "LAB_003101c0:\n              bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                        helpstring + 3);" statement_identifier : (expression_statement "bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                        helpstring + 3);" (assignment_expression "bVar29 = *(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                        helpstring + 3)" identifier = (pointer_expression "*(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                        helpstring + 3)" * (cast_expression "(byte *)((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                        helpstring + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                        helpstring + 3)" ( (binary_expression "(long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                        helpstring + 3" (cast_expression "(long)&(pGVar21->help_initializer_).super_Struct_special.option.\n                                        helpstring" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&(pGVar21->help_initializer_).super_Struct_special.option.\n                                        helpstring" & (field_expression "(pGVar21->help_initializer_).super_Struct_special.option.\n                                        helpstring" (field_expression "(pGVar21->help_initializer_).super_Struct_special.option" (field_expression "(pGVar21->help_initializer_).super_Struct_special" (parenthesized_expression "(pGVar21->help_initializer_)" ( (field_expression "pGVar21->help_initializer_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier))) + number_literal) ))))) ;)) }))) (if_statement "if ((bVar29 & 4) != 0) {\n              gold::Warnings::issue_warning<32,_true>\n                        (&relinfo->symtab->warnings_,(Symbol *)pGVar21,relinfo,(size_t)local_148,\n                         local_140);\n              iVar19 = (int)pGVar21;\n            }" if (parenthesized_expression "((bVar29 & 4) != 0)" ( (binary_expression "(bVar29 & 4) != 0" (parenthesized_expression "(bVar29 & 4)" ( (binary_expression "bVar29 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n              gold::Warnings::issue_warning<32,_true>\n                        (&relinfo->symtab->warnings_,(Symbol *)pGVar21,relinfo,(size_t)local_148,\n                         local_140);\n              iVar19 = (int)pGVar21;\n            }" { (labeled_statement "gold::Warnings::issue_warning<32,_true>\n                        (&relinfo->symtab->warnings_,(Symbol *)pGVar21,relinfo,(size_t)local_148,\n                         local_140);" statement_identifier : (ERROR ":" :) (labeled_statement "Warnings::issue_warning<32,_true>\n                        (&relinfo->symtab->warnings_,(Symbol *)pGVar21,relinfo,(size_t)local_148,\n                         local_140);" statement_identifier : (ERROR ":" :) (expression_statement "issue_warning<32,_true>\n                        (&relinfo->symtab->warnings_,(Symbol *)pGVar21,relinfo,(size_t)local_148,\n                         local_140);" (comma_expression "issue_warning<32,_true>\n                        (&relinfo->symtab->warnings_,(Symbol *)pGVar21,relinfo,(size_t)local_148,\n                         local_140)" (binary_expression "issue_warning<32" identifier < number_literal) , (binary_expression "_true>\n                        (&relinfo->symtab->warnings_,(Symbol *)pGVar21,relinfo,(size_t)local_148,\n                         local_140)" identifier > (parenthesized_expression "(&relinfo->symtab->warnings_,(Symbol *)pGVar21,relinfo,(size_t)local_148,\n                         local_140)" ( (comma_expression "&relinfo->symtab->warnings_,(Symbol *)pGVar21,relinfo,(size_t)local_148,\n                         local_140" (pointer_expression "&relinfo->symtab->warnings_" & (field_expression "relinfo->symtab->warnings_" (field_expression "relinfo->symtab" identifier -> field_identifier) -> field_identifier)) , (comma_expression "(Symbol *)pGVar21,relinfo,(size_t)local_148,\n                         local_140" (cast_expression "(Symbol *)pGVar21" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (comma_expression "relinfo,(size_t)local_148,\n                         local_140" identifier , (comma_expression "(size_t)local_148,\n                         local_140" (cast_expression "(size_t)local_148" ( (type_descriptor "size_t" primitive_type) ) identifier) , identifier)))) )))) ;))) (expression_statement "iVar19 = (int)pGVar21;" (assignment_expression "iVar19 = (int)pGVar21" identifier = (cast_expression "(int)pGVar21" ( (type_descriptor "int" primitive_type) ) identifier)) ;) })) })) }))) (expression_statement "local_138 = &symval;" (assignment_expression "local_138 = &symval" identifier = (pointer_expression "&symval" & identifier)) ;) (labeled_statement "gold::Symbol_value<32>::~Symbol_value(&symval2,iVar19);" statement_identifier (ERROR "::Symbol_value<32>:" : : (binary_expression "Symbol_value<32" identifier < number_literal) > :) : (expression_statement "~Symbol_value(&symval2,iVar19);" (unary_expression "~Symbol_value(&symval2,iVar19)" ~ (call_expression "Symbol_value(&symval2,iVar19)" identifier (argument_list "(&symval2,iVar19)" ( (pointer_expression "&symval2" & identifier) , identifier )))) ;)) (labeled_statement "gold::Symbol_value<32>::~Symbol_value(local_138,iVar19);" statement_identifier (ERROR "::Symbol_value<32>:" : : (binary_expression "Symbol_value<32" identifier < number_literal) > :) : (expression_statement "~Symbol_value(local_138,iVar19);" (unary_expression "~Symbol_value(local_138,iVar19)" ~ (call_expression "Symbol_value(local_138,iVar19)" identifier (argument_list "(local_138,iVar19)" ( identifier , identifier )))) ;)) })) (expression_statement "local_148 = (General_options *)\n                  ((long)&(local_148->help_initializer_).super_Struct_special.super_Struct_var.\n                          _vptr_Struct_var + 1);" (assignment_expression "local_148 = (General_options *)\n                  ((long)&(local_148->help_initializer_).super_Struct_special.super_Struct_var.\n                          _vptr_Struct_var + 1)" identifier = (cast_expression "(General_options *)\n                  ((long)&(local_148->help_initializer_).super_Struct_special.super_Struct_var.\n                          _vptr_Struct_var + 1)" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&(local_148->help_initializer_).super_Struct_special.super_Struct_var.\n                          _vptr_Struct_var + 1)" ( (binary_expression "(long)&(local_148->help_initializer_).super_Struct_special.super_Struct_var.\n                          _vptr_Struct_var + 1" (cast_expression "(long)&(local_148->help_initializer_).super_Struct_special.super_Struct_var.\n                          _vptr_Struct_var" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&(local_148->help_initializer_).super_Struct_special.super_Struct_var.\n                          _vptr_Struct_var" & (field_expression "(local_148->help_initializer_).super_Struct_special.super_Struct_var.\n                          _vptr_Struct_var" (field_expression "(local_148->help_initializer_).super_Struct_special.super_Struct_var" (field_expression "(local_148->help_initializer_).super_Struct_special" (parenthesized_expression "(local_148->help_initializer_)" ( (field_expression "local_148->help_initializer_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier))) + number_literal) )))) ;) (expression_statement "local_120 = local_120 + 3;" (assignment_expression "local_120 = local_120 + 3" identifier = (binary_expression "local_120 + 3" identifier + number_literal)) ;) }) while (parenthesized_expression "((General_options *)reloc_count != local_148)" ( (binary_expression "(General_options *)reloc_count != local_148" (cast_expression "(General_options *)reloc_count" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) != identifier) )) ;) })) (return_statement "return;" return ;) (ERROR "}" }))
(translation_unit "void FUN_0030f910(long param_1,long *param_2,int param_3,uint *param_4,long param_5,\n                 undefined8 param_6,char param_7,long param_8,uint param_9,ulong param_10,\n                 long *param_11)\n\n{\n  uint uVar1;\n  code *pcVar2;\n  long *plVar3;\n  char cVar4;\n  byte bVar5;\n  uint uVar6;\n  int iVar7;\n  int iVar8;\n  undefined8 uVar9;\n  undefined8 *puVar10;\n  undefined8 uVar11;\n  undefined8 uVar12;\n  long lVar13;\n  ulong uVar14;\n  long lVar15;\n  byte bVar16;\n  uint uVar17;\n  byte *pbVar18;\n  byte *pbVar19;\n  byte *pbVar20;\n  uint uVar21;\n  undefined8 *puVar22;\n  long *plVar23;\n  bool bVar24;\n  bool bVar25;\n  bool bVar26;\n  byte bVar27;\n  long local_148;\n  ulong local_140;\n  undefined8 *local_138;\n  uint *local_120;\n  uint local_ec;\n  undefined1 local_e1;\n  undefined1 local_e0 [4];\n  int local_dc;\n  undefined8 local_d8;\n  uint local_d0;\n  undefined4 local_c8;\n  undefined8 local_b8;\n  undefined4 local_b0;\n  int local_a8;\n  undefined8 local_98;\n  undefined4 local_90;\n  int local_88;\n  char local_78;\n  undefined7 uStack_77;\n  undefined1 auStack_68 [16];\n  byte *local_58 [2];\n  byte abStack_48 [24];\n  \n  bVar27 = 0;\n  if (param_3 != 4) {\n                    \n    FUN_00352af0("../../gold/aarch64.cc",0x1fca,"relocate_section");\n  }\n  plVar23 = (long *)param_2[2];\n  if (param_7 != '\0') {\n    lVar13 = FUN_003cfdd0(param_6,plVar23,(int)param_2[6]);\n    if (lVar13 == 0) {\n      plVar23 = (long *)param_2[2];\n    }\n    else {\n      if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    \n        FUN_00352af0("../../gold/output.h",0xc5,"address");\n      }\n      if ((*(byte *)(lVar13 + 0x20) & 2) == 0) {\n                    \n        FUN_00352af0("../../gold/output.h",0xcf,"data_size");\n      }\n      uVar21 = (uint)*(ulong *)(lVar13 + 8);\n      if ((uVar21 < param_9) ||\n         (param_9 + param_10 < (*(ulong *)(lVar13 + 8) & 0xffffffff) + *(ulong *)(lVar13 + 0x10))) {\n                    \n        FUN_00352af0("../../gold/aarch64.cc",0x1fda,"relocate_section");\n      }\n      plVar23 = (long *)param_2[2];\n      param_8 = param_8 + (ulong)(uVar21 - param_9);\n      param_10 = *(ulong *)(lVar13 + 0x10);\n    }\n  }\n  pcVar2 = *(code **)(*plVar23 + 0x118);\n  if (pcVar2 == FUN_001a4ab0) {\n    local_ec = (**(code **)(*plVar23 + 0x178))();\n  }\n  else {\n    local_ec = (*pcVar2)(plVar23);\n  }\n  iVar8 = 0;\n  local_148 = 0;\n  local_120 = param_4;\n  if (param_5 != 0) {\n    do {\n      uVar21 = *local_120;\n      local_140 = (ulong)(uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18);\n      if ((param_7 == '\0') ||\n         (local_140 = FUN_003cff80(param_6,param_2[2],(int)param_2[6],local_140),\n         local_140 != 0xffffffffffffffff)) {\n        local_d0 = 0x80000000;\n        local_c8 = 0;\n        uVar21 = local_120[1];\n        local_d8 = 0xffffffff00000000;\n        uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n        if (uVar21 < local_ec) {\n          if ((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))\n          {\nLAB_0030fa33:\n            iVar7 = *(int *)((long)puVar10 + 0x1c);\n            uVar17 = iVar7 - 1;\n            if (0xfffffffd < uVar17) goto LAB_0030fa42;\nLAB_0030fcf0:\n            if (uVar17 == 0xfffffffd) {\n                    \n              FUN_00352af0("../../gold/object.h",0x70d,"set_output_symtab_index");\n            }\n            local_d8 = CONCAT44(local_d8._4_4_,iVar7);\n            goto LAB_0030fa4a;\n          }\n          if ((ulong)((plVar23[0x2d] - plVar23[0x2c] >> 3) * -0x5555555555555555) <= (ulong)uVar21)\n          {\n                    \n            FUN_00352af0("../../gold/object.h",0x8c1,"local_symbol");\n          }\n          puVar22 = (undefined8 *)(plVar23[0x2c] + (ulong)uVar21 * 0x18);\n          uVar1 = *(uint *)(puVar22 + 1);\n          uVar6 = uVar1 & 0x7ffffff;\n          uVar17 = uVar1 & 0x7ffffff;\n          if (((*(byte *)((long)puVar22 + 0xb) & 8) == 0) || (uVar6 == 0)) {\nLAB_0030fbb3:\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }\n          if ((ulong)(plVar23[0xb] - plVar23[10] >> 3) <= (ulong)uVar6) {\n                    \n                    \n            FUN_00352af0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(long *)(plVar23[10] + (ulong)uVar6 * 8) != 0) goto LAB_0030fbb3;\n          cVar4 = FUN_00443530(*param_2,plVar23,uVar1 & 0x7ffffff);\n          puVar10 = (undefined8 *)0x0;\n          if (cVar4 != '\0') {\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }\nLAB_0030fd25:\n          local_b0 = 0x80000000;\n          local_b8 = 0xffffffff00000000;\n          local_a8 = 0;\n          if (*(code **)(*plVar23 + 0x80) == FUN_0022c990) {\n                    \n            FUN_0022c800(local_58,plVar23 + 0x1f);\n          }\n          else {\n                    \n            (**(code **)(*plVar23 + 0x80))(local_58,plVar23,(int)param_2[6]);\n          }\n          bVar24 = false;\n          bVar26 = iVar8 == 0;\n          if (bVar26) {\n            lVar13 = 6;\n            pbVar18 = local_58[0];\n            pbVar19 = &DAT_00533552;\n            do {\n              if (lVar13 == 0) break;\n              lVar13 = lVar13 + -1;\n              bVar24 = *pbVar18 < *pbVar19;\n              bVar26 = *pbVar18 == *pbVar19;\n              pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n              pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n            } while (bVar26);\n            bVar25 = false;\n            bVar24 = (!bVar24 && !bVar26) == bVar24;\n            if (!bVar24) {\n              lVar13 = 7;\n              pbVar18 = local_58[0];\n              pbVar19 = (byte *)".zdebug";\n              do {\n                if (lVar13 == 0) break;\n                lVar13 = lVar13 + -1;\n                bVar25 = *pbVar18 < *pbVar19;\n                bVar24 = *pbVar18 == *pbVar19;\n                pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar13 = 0x11;\n                pbVar18 = local_58[0];\n                pbVar19 = (byte *)".gnu.linkonce.wi.";\n                do {\n                  if (lVar13 == 0) break;\n                  lVar13 = lVar13 + -1;\n                  bVar26 = *pbVar18 < *pbVar19;\n                  bVar24 = *pbVar18 == *pbVar19;\n                  pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  lVar13 = 5;\n                  pbVar18 = local_58[0];\n                  pbVar19 = (byte *)".line";\n                  do {\n                    if (lVar13 == 0) break;\n                    lVar13 = lVar13 + -1;\n                    bVar25 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    lVar13 = 5;\n                    pbVar18 = local_58[0];\n                    pbVar19 = (byte *)".stab";\n                    do {\n                      if (lVar13 == 0) break;\n                      lVar13 = lVar13 + -1;\n                      bVar26 = *pbVar18 < *pbVar19;\n                      bVar24 = *pbVar18 == *pbVar19;\n                      pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                      pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      lVar13 = 4;\n                      pbVar18 = local_58[0];\n                      pbVar19 = &DAT_0053357f;\n                      do {\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0030fdc0:\n                    \n            iVar8 = FUN_00397c50(plVar23,uVar17,local_58,&local_78);\n            local_a8 = 0;\n            if (local_78 != '\0') {\n              local_a8 = iVar8 + *(int *)(puVar22 + 2);\n            }\n            iVar8 = 1;\n          }\n          else {\n            if (iVar8 == 1) goto LAB_0030fdc0;\n            if (iVar8 == 3) {\nLAB_0030ff50:\n              lVar13 = param_2[2];\n              if (puVar10 == (undefined8 *)0x0) {\n                    \n                uVar9 = FUN_0039dd50(lVar13,uVar21);\n                uVar11 = gettext(\n                                "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                );\n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9,uVar21);\n              }\n              else {\n                    \n                FUN_004443d0(&local_78,puVar10);\n                uVar9 = CONCAT71(uStack_77,local_78);\n                uVar11 = gettext(\n                                "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                );\n                    \n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9);\n                if ((undefined1 *)CONCAT71(uStack_77,local_78) != auStack_68) {\n                  FUN_0049e340();\n                }\n              }\n                    \n              iVar8 = FUN_0039d3c0(lVar13,uVar21,local_e0,&local_e1);\n              if (iVar8 != 0) {\n                    \n                lVar15 = FUN_00397ec0(lVar13,iVar8,&local_dc);\n                if (local_dc != 0) {\n                    \n                  uVar9 = FUN_0039dd50(lVar13);\n                  uVar11 = gettext("  section group signature: \"%s\"");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n                if (lVar15 != 0) {\n                  uVar9 = *(undefined8 *)(lVar15 + 8);\n                  uVar11 = gettext("  prevailing definition is from %s");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n              }\n              iVar8 = 3;\n            }\n            else {\nLAB_00310006:\n              iVar8 = 2;\n            }\n            local_a8 = 0;\n          }\n          if ((int)local_b8 != 0) {\n                    \n                    \n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\n          local_b8 = CONCAT44(local_b8._4_4_,0xffffffff);\n          if (local_58[0] != abStack_48) {\n            FUN_0049e340();\n          }\n          puVar22 = &local_b8;\n          if (-1 < (long)local_140) goto LAB_0030fae5;\nLAB_0030fe48:\n          uVar9 = gettext("reloc has bad offset %zu");\n                    \n          FUN_0034aed0(param_2,local_148,local_140,uVar9,local_140);\n        }\n        else {\n          if ((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))\n          goto LAB_0030fa33;\n          if (uVar21 < *(uint *)(plVar23 + 0x24)) {\nLAB_003107a0:\n                    \n                    \n            FUN_00352af0("../../gold/target-reloc.h",0x17f,"relocate_section");\n          }\n          uVar14 = (ulong)(uVar21 - *(uint *)(plVar23 + 0x24));\n          if ((ulong)(plVar23[0x27] - plVar23[0x26] >> 3) <= uVar14) {\n                    \n            FUN_00352af0("../../gold/object.h",0x8ad,"global_symbol");\n          }\n          puVar10 = *(undefined8 **)(plVar23[0x26] + uVar14 * 8);\n          if (puVar10 == (undefined8 *)0x0) goto LAB_003107a0;\n          if ((*(byte *)((long)puVar10 + 0x3a) & 0x10) == 0) goto LAB_0030fa33;\n                    \n          puVar10 = (undefined8 *)FUN_00443580(*param_2,puVar10);\n          iVar7 = *(int *)((long)puVar10 + 0x1c);\n          uVar17 = iVar7 - 1;\n          if (uVar17 < 0xfffffffe) {\n            if (((int)local_d8 != 0) && ((int)local_d8 != -2)) {\n                    \n                    \n              FUN_00352af0("../../gold/object.h",0x70c,"set_output_symtab_index");\n            }\n            goto LAB_0030fcf0;\n          }\n          if ((int)local_d8 != 0) {\n                    \n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\nLAB_0030fa42:\n          local_d8 = CONCAT44(local_d8._4_4_,0xffffffff);\nLAB_0030fa4a:\n          local_c8 = *(undefined4 *)(puVar10 + 8);\n          if ((*(byte *)(puVar10 + 7) & 0xf) == 6) {\n            local_d0 = local_d0 | 0x20000000;\n          }\n          else if ((*(byte *)(puVar10 + 7) & 0xf) == 10) {\n            local_d0 = local_d0 | 0x40000000;\n          }\n          if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') {\n            if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) {\nLAB_0030fd10:\n                puVar22 = &local_d8;\n                uVar17 = 0;\n                goto LAB_0030fd25;\n              }\n            }\n            else if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 4) goto LAB_0030fd10;\n          }\n          puVar22 = &local_d8;\nLAB_0030faa5:\n          local_b0 = 0x80000000;\n          local_b8 = 0xffffffff00000000;\n          local_a8 = 0;\n          if ((long)local_140 < 0) goto LAB_0030fe48;\nLAB_0030fae5:\n          if ((param_10 <= local_140) || (local_140 + param_8 == 0)) goto LAB_0030fe48;\n          uVar21 = local_120[1];\n          if (uVar21 >> 0x18 != 0) {\n            uVar9 = gettext("Invalid/unrecognized reloc reloc %d.");\n                    \n            FUN_0034a750(uVar9,uVar21 >> 0x18);\n                    \n            FUN_00352af0("../../gold/aarch64-reloc-property.h",0xeb,"code_to_array_index");\n          }\n          if (*DAT_0067dff8 == 0) {\n                    \n            FUN_0031d8d0(local_58,DAT_0067dff8,0);\n            pbVar18 = local_58[0];\n            uVar9 = gettext("cannot relocate %s in object file");\n            uVar21 = *local_120;\n                    \n            FUN_0034aed0(param_2,local_148,\n                         uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18,uVar9,pbVar18);\n            if (local_58[0] != abStack_48) {\n              FUN_0049e340();\n            }\n          }\n          else {\n            plVar3 = (long *)param_2[2];\n            local_90 = 0x80000000;\n            local_98 = 0xffffffff00000000;\n            local_88 = 0;\n            if (puVar10 == (undefined8 *)0x0) {\n              if ((*(byte *)((long)puVar22 + 0xb) & 0x40) != 0) {\n                uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n                    \n                cVar4 = FUN_00397bb0(plVar3,uVar21);\n                if (cVar4 != '\0') {\n                  lVar13 = *(long *)(param_1 + 0x28);\n                  if (lVar13 == 0) {\n                    \n                    FUN_002ed4a0();\n                    goto LAB_003108ca;\n                  }\n                  if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    \n                    \n                    FUN_00352af0("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar9 = *(undefined8 *)(lVar13 + 8);\n                  iVar7 = *(int *)(lVar13 + 0x68);\n                  local_88 = (**(code **)(*plVar3 + 0x150))(plVar3,uVar21);\n                  local_88 = (int)uVar9 + 0x20 + iVar7 * 0x10 + local_88;\n                }\n              }\n            }\n            else {\n                    \n              cVar4 = FUN_00228fa0(puVar10,*(undefined4 *)(*DAT_0067dff8 + 0x4c));\n              if (cVar4 != '\0') {\n                if (*(long *)(param_1 + 0x28) == 0) {\n                    \n                  FUN_002ed4a0();\n                  goto LAB_00310805;\n                }\n                local_88 = FUN_002f9c90(*(long *)(param_1 + 0x28),puVar10);\n              }\n            }\n            FUN_001a5bc0(&local_98);\n          }\n          if (puVar10 != (undefined8 *)0x0) {\n            bVar16 = *(byte *)((long)puVar10 + 0x3a);\n            bVar5 = bVar16 & 7;\n            if ((bVar16 & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) != 0) || ((*(byte *)((long)puVar10 + 0x3b) & 0x20) == 0)) {\n                if (*(code **)(*(long *)puVar10[2] + 0x28) != FUN_001a4aa0) {\n                  lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                  if (lVar13 != 0) {\n                    bVar16 = *(byte *)((long)puVar10 + 0x3a);\n                    bVar5 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar5 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)puVar10 + 0x3b)) goto LAB_00310305;\n                    bVar5 = *(byte *)((long)puVar10 + 0x39);\n                    if ((bVar5 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }\nLAB_0031015a:\n                bVar16 = bVar16 & 7;\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                if ((*(byte *)((long)puVar10 + 0x39) & 3) == 0) goto LAB_003101c0;\nLAB_00310166:\n                if (((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)\n                    ) && ((*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0)))) {\nLAB_00310293:\n                  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_003108ca:\n                    \n                    \n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') {\n                    if (bVar16 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)(puVar10[2] + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }\n                if (bVar5 == 2) {\n                  uVar9 = gettext("hidden");\n                }\n                else if (bVar5 < 3) {\n                  if (bVar5 != 1) {\n                    \n                    FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar9 = gettext("internal");\n                }\n                else {\n                  uVar9 = gettext("protected");\n                }\n                uVar11 = *puVar10;\n                uVar12 = gettext("%s symbol \'%s\' is not defined locally");\n                    \n                FUN_0034a750(uVar12,uVar9,uVar11);\n                goto LAB_003101c0;\n              }\nLAB_0031020c:\n              if ((*(byte *)(puVar10 + 7) >> 4 == 2) || ((*(byte *)((long)puVar10 + 0x3c) & 2) != 0)\n                 ) {\nLAB_00310438:\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_0031043f:\n                if (bVar5 == 0) goto LAB_003101c0;\n                bVar16 = *(byte *)((long)puVar10 + 0x3a) & 7;\n                if (bVar16 != 0) goto LAB_00310270;\n                goto LAB_00310166;\n              }\n              if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\n                    \n                    \n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') goto LAB_00310438;\n              if (*(char *)((long)puVar10 + 0x3b) < '\0') {\n                if (bVar5 != 0) goto LAB_00310260;\nLAB_003105b8:\n                if (*(code **)(*(long *)puVar10[2] + 0x28) == FUN_001a4aa0) goto LAB_0031015a;\n                    \n                lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                if (lVar13 == 0) goto LAB_00310438;\n              }\nLAB_00310305:\n              plVar3 = *(long **)(PTR_DAT_0067cb08 + 0x18);\n              if (plVar3 == (long *)0x0) {\nLAB_00310805:\n                    \n                    \n                FUN_00352af0("../../gold/parameters.h",0x69,"target");\n              }\n              if ((*(code **)(*plVar3 + 0x38) != FUN_001a49e0) &&\n                 (cVar4 = (**(code **)(*plVar3 + 0x38))(plVar3,puVar10), cVar4 != '\0'))\n              goto LAB_00310438;\n              lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar13 == 0) {\n                    \n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              pbVar18 = *(byte **)(lVar13 + 0x6c40);\n              bVar24 = false;\n              bVar26 = pbVar18 == (byte *)0x0;\n              if (bVar26) {\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_003103c9:\n                if ((bVar5 == 2) ||\n                   ((*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0'))))\n                goto LAB_003103e1;\n                goto LAB_0031043f;\n              }\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"ignore-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar24 = *pbVar19 < *pbVar20;\n                bVar26 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar26);\n              bVar25 = false;\n              bVar24 = (!bVar24 && !bVar26) == bVar24;\n              if (bVar24) goto LAB_00310438;\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"report-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar25 = *pbVar19 < *pbVar20;\n                bVar24 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar15 = 0x17;\n                pbVar19 = pbVar18;\n                pbVar20 = (byte *)"ignore-in-object-files";\n                do {\n                  if (lVar15 == 0) break;\n                  lVar15 = lVar15 + -1;\n                  bVar26 = *pbVar19 < *pbVar20;\n                  bVar24 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if ((!bVar24) || (bVar24 = (*(byte *)((long)puVar10 + 0x3b) & 1) == 0, !bVar24)) {\n                  bVar26 = false;\n                  lVar15 = 0x16;\n                  pbVar19 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    if (lVar15 == 0) break;\n                    lVar15 = lVar15 + -1;\n                    bVar26 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  if (((!bVar26 && !bVar24) != bVar26) || (*(char *)((long)puVar10 + 0x3a) < '\0'))\n                  goto LAB_003103c9;\n                }\n                goto LAB_0031043f;\n              }\nLAB_003103e1:\n              FUN_0034b9f0(puVar10,param_2,local_148,local_140);\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            else {\n              if (bVar5 == 4) goto LAB_0031020c;\nLAB_00310260:\n              bVar5 = *(byte *)((long)puVar10 + 0x39);\n              if ((bVar5 & 3) != 0) {\nLAB_0031026d:\n                bVar5 = bVar5 & 3;\n                bVar16 = bVar16 & 7;\nLAB_00310270:\n                if (((bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2)) &&\n                   (bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0)) goto LAB_00310293;\n              }\nLAB_003101c0:\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            if ((bVar16 & 4) != 0) {\n              FUN_00446c20(*param_2 + 0x1e0,puVar10,param_2,local_148,local_140);\n            }\n          }\n        }\n        local_138 = &local_d8;\n        FUN_001a5bc0(&local_b8);\n        FUN_001a5bc0(local_138);\n      }\n      local_148 = local_148 + 1;\n      local_120 = local_120 + 3;\n    } while (param_5 != local_148);\n  }\n  return;\n}\n\n" (function_definition "void FUN_0030f910(long param_1,long *param_2,int param_3,uint *param_4,long param_5,\n                 undefined8 param_6,char param_7,long param_8,uint param_9,ulong param_10,\n                 long *param_11)\n\n{\n  uint uVar1;\n  code *pcVar2;\n  long *plVar3;\n  char cVar4;\n  byte bVar5;\n  uint uVar6;\n  int iVar7;\n  int iVar8;\n  undefined8 uVar9;\n  undefined8 *puVar10;\n  undefined8 uVar11;\n  undefined8 uVar12;\n  long lVar13;\n  ulong uVar14;\n  long lVar15;\n  byte bVar16;\n  uint uVar17;\n  byte *pbVar18;\n  byte *pbVar19;\n  byte *pbVar20;\n  uint uVar21;\n  undefined8 *puVar22;\n  long *plVar23;\n  bool bVar24;\n  bool bVar25;\n  bool bVar26;\n  byte bVar27;\n  long local_148;\n  ulong local_140;\n  undefined8 *local_138;\n  uint *local_120;\n  uint local_ec;\n  undefined1 local_e1;\n  undefined1 local_e0 [4];\n  int local_dc;\n  undefined8 local_d8;\n  uint local_d0;\n  undefined4 local_c8;\n  undefined8 local_b8;\n  undefined4 local_b0;\n  int local_a8;\n  undefined8 local_98;\n  undefined4 local_90;\n  int local_88;\n  char local_78;\n  undefined7 uStack_77;\n  undefined1 auStack_68 [16];\n  byte *local_58 [2];\n  byte abStack_48 [24];\n  \n  bVar27 = 0;\n  if (param_3 != 4) {\n                    \n    FUN_00352af0("../../gold/aarch64.cc",0x1fca,"relocate_section");\n  }\n  plVar23 = (long *)param_2[2];\n  if (param_7 != '\0') {\n    lVar13 = FUN_003cfdd0(param_6,plVar23,(int)param_2[6]);\n    if (lVar13 == 0) {\n      plVar23 = (long *)param_2[2];\n    }\n    else {\n      if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    \n        FUN_00352af0("../../gold/output.h",0xc5,"address");\n      }\n      if ((*(byte *)(lVar13 + 0x20) & 2) == 0) {\n                    \n        FUN_00352af0("../../gold/output.h",0xcf,"data_size");\n      }\n      uVar21 = (uint)*(ulong *)(lVar13 + 8);\n      if ((uVar21 < param_9) ||\n         (param_9 + param_10 < (*(ulong *)(lVar13 + 8) & 0xffffffff) + *(ulong *)(lVar13 + 0x10))) {\n                    \n        FUN_00352af0("../../gold/aarch64.cc",0x1fda,"relocate_section");\n      }\n      plVar23 = (long *)param_2[2];\n      param_8 = param_8 + (ulong)(uVar21 - param_9);\n      param_10 = *(ulong *)(lVar13 + 0x10);\n    }\n  }\n  pcVar2 = *(code **)(*plVar23 + 0x118);\n  if (pcVar2 == FUN_001a4ab0) {\n    local_ec = (**(code **)(*plVar23 + 0x178))();\n  }\n  else {\n    local_ec = (*pcVar2)(plVar23);\n  }\n  iVar8 = 0;\n  local_148 = 0;\n  local_120 = param_4;\n  if (param_5 != 0) {\n    do {\n      uVar21 = *local_120;\n      local_140 = (ulong)(uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18);\n      if ((param_7 == '\0') ||\n         (local_140 = FUN_003cff80(param_6,param_2[2],(int)param_2[6],local_140),\n         local_140 != 0xffffffffffffffff)) {\n        local_d0 = 0x80000000;\n        local_c8 = 0;\n        uVar21 = local_120[1];\n        local_d8 = 0xffffffff00000000;\n        uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n        if (uVar21 < local_ec) {\n          if ((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))\n          {\nLAB_0030fa33:\n            iVar7 = *(int *)((long)puVar10 + 0x1c);\n            uVar17 = iVar7 - 1;\n            if (0xfffffffd < uVar17) goto LAB_0030fa42;\nLAB_0030fcf0:\n            if (uVar17 == 0xfffffffd) {\n                    \n              FUN_00352af0("../../gold/object.h",0x70d,"set_output_symtab_index");\n            }\n            local_d8 = CONCAT44(local_d8._4_4_,iVar7);\n            goto LAB_0030fa4a;\n          }\n          if ((ulong)((plVar23[0x2d] - plVar23[0x2c] >> 3) * -0x5555555555555555) <= (ulong)uVar21)\n          {\n                    \n            FUN_00352af0("../../gold/object.h",0x8c1,"local_symbol");\n          }\n          puVar22 = (undefined8 *)(plVar23[0x2c] + (ulong)uVar21 * 0x18);\n          uVar1 = *(uint *)(puVar22 + 1);\n          uVar6 = uVar1 & 0x7ffffff;\n          uVar17 = uVar1 & 0x7ffffff;\n          if (((*(byte *)((long)puVar22 + 0xb) & 8) == 0) || (uVar6 == 0)) {\nLAB_0030fbb3:\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }\n          if ((ulong)(plVar23[0xb] - plVar23[10] >> 3) <= (ulong)uVar6) {\n                    \n                    \n            FUN_00352af0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(long *)(plVar23[10] + (ulong)uVar6 * 8) != 0) goto LAB_0030fbb3;\n          cVar4 = FUN_00443530(*param_2,plVar23,uVar1 & 0x7ffffff);\n          puVar10 = (undefined8 *)0x0;\n          if (cVar4 != '\0') {\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }\nLAB_0030fd25:\n          local_b0 = 0x80000000;\n          local_b8 = 0xffffffff00000000;\n          local_a8 = 0;\n          if (*(code **)(*plVar23 + 0x80) == FUN_0022c990) {\n                    \n            FUN_0022c800(local_58,plVar23 + 0x1f);\n          }\n          else {\n                    \n            (**(code **)(*plVar23 + 0x80))(local_58,plVar23,(int)param_2[6]);\n          }\n          bVar24 = false;\n          bVar26 = iVar8 == 0;\n          if (bVar26) {\n            lVar13 = 6;\n            pbVar18 = local_58[0];\n            pbVar19 = &DAT_00533552;\n            do {\n              if (lVar13 == 0) break;\n              lVar13 = lVar13 + -1;\n              bVar24 = *pbVar18 < *pbVar19;\n              bVar26 = *pbVar18 == *pbVar19;\n              pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n              pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n            } while (bVar26);\n            bVar25 = false;\n            bVar24 = (!bVar24 && !bVar26) == bVar24;\n            if (!bVar24) {\n              lVar13 = 7;\n              pbVar18 = local_58[0];\n              pbVar19 = (byte *)".zdebug";\n              do {\n                if (lVar13 == 0) break;\n                lVar13 = lVar13 + -1;\n                bVar25 = *pbVar18 < *pbVar19;\n                bVar24 = *pbVar18 == *pbVar19;\n                pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar13 = 0x11;\n                pbVar18 = local_58[0];\n                pbVar19 = (byte *)".gnu.linkonce.wi.";\n                do {\n                  if (lVar13 == 0) break;\n                  lVar13 = lVar13 + -1;\n                  bVar26 = *pbVar18 < *pbVar19;\n                  bVar24 = *pbVar18 == *pbVar19;\n                  pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  lVar13 = 5;\n                  pbVar18 = local_58[0];\n                  pbVar19 = (byte *)".line";\n                  do {\n                    if (lVar13 == 0) break;\n                    lVar13 = lVar13 + -1;\n                    bVar25 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    lVar13 = 5;\n                    pbVar18 = local_58[0];\n                    pbVar19 = (byte *)".stab";\n                    do {\n                      if (lVar13 == 0) break;\n                      lVar13 = lVar13 + -1;\n                      bVar26 = *pbVar18 < *pbVar19;\n                      bVar24 = *pbVar18 == *pbVar19;\n                      pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                      pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      lVar13 = 4;\n                      pbVar18 = local_58[0];\n                      pbVar19 = &DAT_0053357f;\n                      do {\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0030fdc0:\n                    \n            iVar8 = FUN_00397c50(plVar23,uVar17,local_58,&local_78);\n            local_a8 = 0;\n            if (local_78 != '\0') {\n              local_a8 = iVar8 + *(int *)(puVar22 + 2);\n            }\n            iVar8 = 1;\n          }\n          else {\n            if (iVar8 == 1) goto LAB_0030fdc0;\n            if (iVar8 == 3) {\nLAB_0030ff50:\n              lVar13 = param_2[2];\n              if (puVar10 == (undefined8 *)0x0) {\n                    \n                uVar9 = FUN_0039dd50(lVar13,uVar21);\n                uVar11 = gettext(\n                                "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                );\n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9,uVar21);\n              }\n              else {\n                    \n                FUN_004443d0(&local_78,puVar10);\n                uVar9 = CONCAT71(uStack_77,local_78);\n                uVar11 = gettext(\n                                "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                );\n                    \n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9);\n                if ((undefined1 *)CONCAT71(uStack_77,local_78) != auStack_68) {\n                  FUN_0049e340();\n                }\n              }\n                    \n              iVar8 = FUN_0039d3c0(lVar13,uVar21,local_e0,&local_e1);\n              if (iVar8 != 0) {\n                    \n                lVar15 = FUN_00397ec0(lVar13,iVar8,&local_dc);\n                if (local_dc != 0) {\n                    \n                  uVar9 = FUN_0039dd50(lVar13);\n                  uVar11 = gettext("  section group signature: \"%s\"");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n                if (lVar15 != 0) {\n                  uVar9 = *(undefined8 *)(lVar15 + 8);\n                  uVar11 = gettext("  prevailing definition is from %s");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n              }\n              iVar8 = 3;\n            }\n            else {\nLAB_00310006:\n              iVar8 = 2;\n            }\n            local_a8 = 0;\n          }\n          if ((int)local_b8 != 0) {\n                    \n                    \n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\n          local_b8 = CONCAT44(local_b8._4_4_,0xffffffff);\n          if (local_58[0] != abStack_48) {\n            FUN_0049e340();\n          }\n          puVar22 = &local_b8;\n          if (-1 < (long)local_140) goto LAB_0030fae5;\nLAB_0030fe48:\n          uVar9 = gettext("reloc has bad offset %zu");\n                    \n          FUN_0034aed0(param_2,local_148,local_140,uVar9,local_140);\n        }\n        else {\n          if ((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))\n          goto LAB_0030fa33;\n          if (uVar21 < *(uint *)(plVar23 + 0x24)) {\nLAB_003107a0:\n                    \n                    \n            FUN_00352af0("../../gold/target-reloc.h",0x17f,"relocate_section");\n          }\n          uVar14 = (ulong)(uVar21 - *(uint *)(plVar23 + 0x24));\n          if ((ulong)(plVar23[0x27] - plVar23[0x26] >> 3) <= uVar14) {\n                    \n            FUN_00352af0("../../gold/object.h",0x8ad,"global_symbol");\n          }\n          puVar10 = *(undefined8 **)(plVar23[0x26] + uVar14 * 8);\n          if (puVar10 == (undefined8 *)0x0) goto LAB_003107a0;\n          if ((*(byte *)((long)puVar10 + 0x3a) & 0x10) == 0) goto LAB_0030fa33;\n                    \n          puVar10 = (undefined8 *)FUN_00443580(*param_2,puVar10);\n          iVar7 = *(int *)((long)puVar10 + 0x1c);\n          uVar17 = iVar7 - 1;\n          if (uVar17 < 0xfffffffe) {\n            if (((int)local_d8 != 0) && ((int)local_d8 != -2)) {\n                    \n                    \n              FUN_00352af0("../../gold/object.h",0x70c,"set_output_symtab_index");\n            }\n            goto LAB_0030fcf0;\n          }\n          if ((int)local_d8 != 0) {\n                    \n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\nLAB_0030fa42:\n          local_d8 = CONCAT44(local_d8._4_4_,0xffffffff);\nLAB_0030fa4a:\n          local_c8 = *(undefined4 *)(puVar10 + 8);\n          if ((*(byte *)(puVar10 + 7) & 0xf) == 6) {\n            local_d0 = local_d0 | 0x20000000;\n          }\n          else if ((*(byte *)(puVar10 + 7) & 0xf) == 10) {\n            local_d0 = local_d0 | 0x40000000;\n          }\n          if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') {\n            if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) {\nLAB_0030fd10:\n                puVar22 = &local_d8;\n                uVar17 = 0;\n                goto LAB_0030fd25;\n              }\n            }\n            else if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 4) goto LAB_0030fd10;\n          }\n          puVar22 = &local_d8;\nLAB_0030faa5:\n          local_b0 = 0x80000000;\n          local_b8 = 0xffffffff00000000;\n          local_a8 = 0;\n          if ((long)local_140 < 0) goto LAB_0030fe48;\nLAB_0030fae5:\n          if ((param_10 <= local_140) || (local_140 + param_8 == 0)) goto LAB_0030fe48;\n          uVar21 = local_120[1];\n          if (uVar21 >> 0x18 != 0) {\n            uVar9 = gettext("Invalid/unrecognized reloc reloc %d.");\n                    \n            FUN_0034a750(uVar9,uVar21 >> 0x18);\n                    \n            FUN_00352af0("../../gold/aarch64-reloc-property.h",0xeb,"code_to_array_index");\n          }\n          if (*DAT_0067dff8 == 0) {\n                    \n            FUN_0031d8d0(local_58,DAT_0067dff8,0);\n            pbVar18 = local_58[0];\n            uVar9 = gettext("cannot relocate %s in object file");\n            uVar21 = *local_120;\n                    \n            FUN_0034aed0(param_2,local_148,\n                         uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18,uVar9,pbVar18);\n            if (local_58[0] != abStack_48) {\n              FUN_0049e340();\n            }\n          }\n          else {\n            plVar3 = (long *)param_2[2];\n            local_90 = 0x80000000;\n            local_98 = 0xffffffff00000000;\n            local_88 = 0;\n            if (puVar10 == (undefined8 *)0x0) {\n              if ((*(byte *)((long)puVar22 + 0xb) & 0x40) != 0) {\n                uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n                    \n                cVar4 = FUN_00397bb0(plVar3,uVar21);\n                if (cVar4 != '\0') {\n                  lVar13 = *(long *)(param_1 + 0x28);\n                  if (lVar13 == 0) {\n                    \n                    FUN_002ed4a0();\n                    goto LAB_003108ca;\n                  }\n                  if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    \n                    \n                    FUN_00352af0("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar9 = *(undefined8 *)(lVar13 + 8);\n                  iVar7 = *(int *)(lVar13 + 0x68);\n                  local_88 = (**(code **)(*plVar3 + 0x150))(plVar3,uVar21);\n                  local_88 = (int)uVar9 + 0x20 + iVar7 * 0x10 + local_88;\n                }\n              }\n            }\n            else {\n                    \n              cVar4 = FUN_00228fa0(puVar10,*(undefined4 *)(*DAT_0067dff8 + 0x4c));\n              if (cVar4 != '\0') {\n                if (*(long *)(param_1 + 0x28) == 0) {\n                    \n                  FUN_002ed4a0();\n                  goto LAB_00310805;\n                }\n                local_88 = FUN_002f9c90(*(long *)(param_1 + 0x28),puVar10);\n              }\n            }\n            FUN_001a5bc0(&local_98);\n          }\n          if (puVar10 != (undefined8 *)0x0) {\n            bVar16 = *(byte *)((long)puVar10 + 0x3a);\n            bVar5 = bVar16 & 7;\n            if ((bVar16 & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) != 0) || ((*(byte *)((long)puVar10 + 0x3b) & 0x20) == 0)) {\n                if (*(code **)(*(long *)puVar10[2] + 0x28) != FUN_001a4aa0) {\n                  lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                  if (lVar13 != 0) {\n                    bVar16 = *(byte *)((long)puVar10 + 0x3a);\n                    bVar5 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar5 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)puVar10 + 0x3b)) goto LAB_00310305;\n                    bVar5 = *(byte *)((long)puVar10 + 0x39);\n                    if ((bVar5 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }\nLAB_0031015a:\n                bVar16 = bVar16 & 7;\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                if ((*(byte *)((long)puVar10 + 0x39) & 3) == 0) goto LAB_003101c0;\nLAB_00310166:\n                if (((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)\n                    ) && ((*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0)))) {\nLAB_00310293:\n                  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_003108ca:\n                    \n                    \n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') {\n                    if (bVar16 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)(puVar10[2] + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }\n                if (bVar5 == 2) {\n                  uVar9 = gettext("hidden");\n                }\n                else if (bVar5 < 3) {\n                  if (bVar5 != 1) {\n                    \n                    FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar9 = gettext("internal");\n                }\n                else {\n                  uVar9 = gettext("protected");\n                }\n                uVar11 = *puVar10;\n                uVar12 = gettext("%s symbol \'%s\' is not defined locally");\n                    \n                FUN_0034a750(uVar12,uVar9,uVar11);\n                goto LAB_003101c0;\n              }\nLAB_0031020c:\n              if ((*(byte *)(puVar10 + 7) >> 4 == 2) || ((*(byte *)((long)puVar10 + 0x3c) & 2) != 0)\n                 ) {\nLAB_00310438:\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_0031043f:\n                if (bVar5 == 0) goto LAB_003101c0;\n                bVar16 = *(byte *)((long)puVar10 + 0x3a) & 7;\n                if (bVar16 != 0) goto LAB_00310270;\n                goto LAB_00310166;\n              }\n              if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\n                    \n                    \n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') goto LAB_00310438;\n              if (*(char *)((long)puVar10 + 0x3b) < '\0') {\n                if (bVar5 != 0) goto LAB_00310260;\nLAB_003105b8:\n                if (*(code **)(*(long *)puVar10[2] + 0x28) == FUN_001a4aa0) goto LAB_0031015a;\n                    \n                lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                if (lVar13 == 0) goto LAB_00310438;\n              }\nLAB_00310305:\n              plVar3 = *(long **)(PTR_DAT_0067cb08 + 0x18);\n              if (plVar3 == (long *)0x0) {\nLAB_00310805:\n                    \n                    \n                FUN_00352af0("../../gold/parameters.h",0x69,"target");\n              }\n              if ((*(code **)(*plVar3 + 0x38) != FUN_001a49e0) &&\n                 (cVar4 = (**(code **)(*plVar3 + 0x38))(plVar3,puVar10), cVar4 != '\0'))\n              goto LAB_00310438;\n              lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar13 == 0) {\n                    \n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              pbVar18 = *(byte **)(lVar13 + 0x6c40);\n              bVar24 = false;\n              bVar26 = pbVar18 == (byte *)0x0;\n              if (bVar26) {\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_003103c9:\n                if ((bVar5 == 2) ||\n                   ((*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0'))))\n                goto LAB_003103e1;\n                goto LAB_0031043f;\n              }\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"ignore-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar24 = *pbVar19 < *pbVar20;\n                bVar26 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar26);\n              bVar25 = false;\n              bVar24 = (!bVar24 && !bVar26) == bVar24;\n              if (bVar24) goto LAB_00310438;\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"report-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar25 = *pbVar19 < *pbVar20;\n                bVar24 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar15 = 0x17;\n                pbVar19 = pbVar18;\n                pbVar20 = (byte *)"ignore-in-object-files";\n                do {\n                  if (lVar15 == 0) break;\n                  lVar15 = lVar15 + -1;\n                  bVar26 = *pbVar19 < *pbVar20;\n                  bVar24 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if ((!bVar24) || (bVar24 = (*(byte *)((long)puVar10 + 0x3b) & 1) == 0, !bVar24)) {\n                  bVar26 = false;\n                  lVar15 = 0x16;\n                  pbVar19 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    if (lVar15 == 0) break;\n                    lVar15 = lVar15 + -1;\n                    bVar26 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  if (((!bVar26 && !bVar24) != bVar26) || (*(char *)((long)puVar10 + 0x3a) < '\0'))\n                  goto LAB_003103c9;\n                }\n                goto LAB_0031043f;\n              }\nLAB_003103e1:\n              FUN_0034b9f0(puVar10,param_2,local_148,local_140);\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            else {\n              if (bVar5 == 4) goto LAB_0031020c;\nLAB_00310260:\n              bVar5 = *(byte *)((long)puVar10 + 0x39);\n              if ((bVar5 & 3) != 0) {\nLAB_0031026d:\n                bVar5 = bVar5 & 3;\n                bVar16 = bVar16 & 7;\nLAB_00310270:\n                if (((bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2)) &&\n                   (bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0)) goto LAB_00310293;\n              }\nLAB_003101c0:\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            if ((bVar16 & 4) != 0) {\n              FUN_00446c20(*param_2 + 0x1e0,puVar10,param_2,local_148,local_140);\n            }\n          }\n        }\n        local_138 = &local_d8;\n        FUN_001a5bc0(&local_b8);\n        FUN_001a5bc0(local_138);\n      }\n      local_148 = local_148 + 1;\n      local_120 = local_120 + 3;\n    } while (param_5 != local_148);\n  }\n  return;\n}" primitive_type (function_declarator "FUN_0030f910(long param_1,long *param_2,int param_3,uint *param_4,long param_5,\n                 undefined8 param_6,char param_7,long param_8,uint param_9,ulong param_10,\n                 long *param_11)" identifier (parameter_list "(long param_1,long *param_2,int param_3,uint *param_4,long param_5,\n                 undefined8 param_6,char param_7,long param_8,uint param_9,ulong param_10,\n                 long *param_11)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "long *param_2" (sized_type_specifier "long" long) (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "uint *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) , (parameter_declaration "long param_5" (sized_type_specifier "long" long) identifier) , (parameter_declaration "undefined8 param_6" type_identifier identifier) , (parameter_declaration "char param_7" primitive_type identifier) , (parameter_declaration "long param_8" (sized_type_specifier "long" long) identifier) , (parameter_declaration "uint param_9" type_identifier identifier) , (parameter_declaration "ulong param_10" type_identifier identifier) , (parameter_declaration "long *param_11" (sized_type_specifier "long" long) (pointer_declarator "*param_11" * identifier)) ))) (compound_statement "{\n  uint uVar1;\n  code *pcVar2;\n  long *plVar3;\n  char cVar4;\n  byte bVar5;\n  uint uVar6;\n  int iVar7;\n  int iVar8;\n  undefined8 uVar9;\n  undefined8 *puVar10;\n  undefined8 uVar11;\n  undefined8 uVar12;\n  long lVar13;\n  ulong uVar14;\n  long lVar15;\n  byte bVar16;\n  uint uVar17;\n  byte *pbVar18;\n  byte *pbVar19;\n  byte *pbVar20;\n  uint uVar21;\n  undefined8 *puVar22;\n  long *plVar23;\n  bool bVar24;\n  bool bVar25;\n  bool bVar26;\n  byte bVar27;\n  long local_148;\n  ulong local_140;\n  undefined8 *local_138;\n  uint *local_120;\n  uint local_ec;\n  undefined1 local_e1;\n  undefined1 local_e0 [4];\n  int local_dc;\n  undefined8 local_d8;\n  uint local_d0;\n  undefined4 local_c8;\n  undefined8 local_b8;\n  undefined4 local_b0;\n  int local_a8;\n  undefined8 local_98;\n  undefined4 local_90;\n  int local_88;\n  char local_78;\n  undefined7 uStack_77;\n  undefined1 auStack_68 [16];\n  byte *local_58 [2];\n  byte abStack_48 [24];\n  \n  bVar27 = 0;\n  if (param_3 != 4) {\n                    \n    FUN_00352af0("../../gold/aarch64.cc",0x1fca,"relocate_section");\n  }\n  plVar23 = (long *)param_2[2];\n  if (param_7 != '\0') {\n    lVar13 = FUN_003cfdd0(param_6,plVar23,(int)param_2[6]);\n    if (lVar13 == 0) {\n      plVar23 = (long *)param_2[2];\n    }\n    else {\n      if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    \n        FUN_00352af0("../../gold/output.h",0xc5,"address");\n      }\n      if ((*(byte *)(lVar13 + 0x20) & 2) == 0) {\n                    \n        FUN_00352af0("../../gold/output.h",0xcf,"data_size");\n      }\n      uVar21 = (uint)*(ulong *)(lVar13 + 8);\n      if ((uVar21 < param_9) ||\n         (param_9 + param_10 < (*(ulong *)(lVar13 + 8) & 0xffffffff) + *(ulong *)(lVar13 + 0x10))) {\n                    \n        FUN_00352af0("../../gold/aarch64.cc",0x1fda,"relocate_section");\n      }\n      plVar23 = (long *)param_2[2];\n      param_8 = param_8 + (ulong)(uVar21 - param_9);\n      param_10 = *(ulong *)(lVar13 + 0x10);\n    }\n  }\n  pcVar2 = *(code **)(*plVar23 + 0x118);\n  if (pcVar2 == FUN_001a4ab0) {\n    local_ec = (**(code **)(*plVar23 + 0x178))();\n  }\n  else {\n    local_ec = (*pcVar2)(plVar23);\n  }\n  iVar8 = 0;\n  local_148 = 0;\n  local_120 = param_4;\n  if (param_5 != 0) {\n    do {\n      uVar21 = *local_120;\n      local_140 = (ulong)(uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18);\n      if ((param_7 == '\0') ||\n         (local_140 = FUN_003cff80(param_6,param_2[2],(int)param_2[6],local_140),\n         local_140 != 0xffffffffffffffff)) {\n        local_d0 = 0x80000000;\n        local_c8 = 0;\n        uVar21 = local_120[1];\n        local_d8 = 0xffffffff00000000;\n        uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n        if (uVar21 < local_ec) {\n          if ((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))\n          {\nLAB_0030fa33:\n            iVar7 = *(int *)((long)puVar10 + 0x1c);\n            uVar17 = iVar7 - 1;\n            if (0xfffffffd < uVar17) goto LAB_0030fa42;\nLAB_0030fcf0:\n            if (uVar17 == 0xfffffffd) {\n                    \n              FUN_00352af0("../../gold/object.h",0x70d,"set_output_symtab_index");\n            }\n            local_d8 = CONCAT44(local_d8._4_4_,iVar7);\n            goto LAB_0030fa4a;\n          }\n          if ((ulong)((plVar23[0x2d] - plVar23[0x2c] >> 3) * -0x5555555555555555) <= (ulong)uVar21)\n          {\n                    \n            FUN_00352af0("../../gold/object.h",0x8c1,"local_symbol");\n          }\n          puVar22 = (undefined8 *)(plVar23[0x2c] + (ulong)uVar21 * 0x18);\n          uVar1 = *(uint *)(puVar22 + 1);\n          uVar6 = uVar1 & 0x7ffffff;\n          uVar17 = uVar1 & 0x7ffffff;\n          if (((*(byte *)((long)puVar22 + 0xb) & 8) == 0) || (uVar6 == 0)) {\nLAB_0030fbb3:\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }\n          if ((ulong)(plVar23[0xb] - plVar23[10] >> 3) <= (ulong)uVar6) {\n                    \n                    \n            FUN_00352af0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(long *)(plVar23[10] + (ulong)uVar6 * 8) != 0) goto LAB_0030fbb3;\n          cVar4 = FUN_00443530(*param_2,plVar23,uVar1 & 0x7ffffff);\n          puVar10 = (undefined8 *)0x0;\n          if (cVar4 != '\0') {\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }\nLAB_0030fd25:\n          local_b0 = 0x80000000;\n          local_b8 = 0xffffffff00000000;\n          local_a8 = 0;\n          if (*(code **)(*plVar23 + 0x80) == FUN_0022c990) {\n                    \n            FUN_0022c800(local_58,plVar23 + 0x1f);\n          }\n          else {\n                    \n            (**(code **)(*plVar23 + 0x80))(local_58,plVar23,(int)param_2[6]);\n          }\n          bVar24 = false;\n          bVar26 = iVar8 == 0;\n          if (bVar26) {\n            lVar13 = 6;\n            pbVar18 = local_58[0];\n            pbVar19 = &DAT_00533552;\n            do {\n              if (lVar13 == 0) break;\n              lVar13 = lVar13 + -1;\n              bVar24 = *pbVar18 < *pbVar19;\n              bVar26 = *pbVar18 == *pbVar19;\n              pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n              pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n            } while (bVar26);\n            bVar25 = false;\n            bVar24 = (!bVar24 && !bVar26) == bVar24;\n            if (!bVar24) {\n              lVar13 = 7;\n              pbVar18 = local_58[0];\n              pbVar19 = (byte *)".zdebug";\n              do {\n                if (lVar13 == 0) break;\n                lVar13 = lVar13 + -1;\n                bVar25 = *pbVar18 < *pbVar19;\n                bVar24 = *pbVar18 == *pbVar19;\n                pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar13 = 0x11;\n                pbVar18 = local_58[0];\n                pbVar19 = (byte *)".gnu.linkonce.wi.";\n                do {\n                  if (lVar13 == 0) break;\n                  lVar13 = lVar13 + -1;\n                  bVar26 = *pbVar18 < *pbVar19;\n                  bVar24 = *pbVar18 == *pbVar19;\n                  pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  lVar13 = 5;\n                  pbVar18 = local_58[0];\n                  pbVar19 = (byte *)".line";\n                  do {\n                    if (lVar13 == 0) break;\n                    lVar13 = lVar13 + -1;\n                    bVar25 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    lVar13 = 5;\n                    pbVar18 = local_58[0];\n                    pbVar19 = (byte *)".stab";\n                    do {\n                      if (lVar13 == 0) break;\n                      lVar13 = lVar13 + -1;\n                      bVar26 = *pbVar18 < *pbVar19;\n                      bVar24 = *pbVar18 == *pbVar19;\n                      pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                      pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      lVar13 = 4;\n                      pbVar18 = local_58[0];\n                      pbVar19 = &DAT_0053357f;\n                      do {\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0030fdc0:\n                    \n            iVar8 = FUN_00397c50(plVar23,uVar17,local_58,&local_78);\n            local_a8 = 0;\n            if (local_78 != '\0') {\n              local_a8 = iVar8 + *(int *)(puVar22 + 2);\n            }\n            iVar8 = 1;\n          }\n          else {\n            if (iVar8 == 1) goto LAB_0030fdc0;\n            if (iVar8 == 3) {\nLAB_0030ff50:\n              lVar13 = param_2[2];\n              if (puVar10 == (undefined8 *)0x0) {\n                    \n                uVar9 = FUN_0039dd50(lVar13,uVar21);\n                uVar11 = gettext(\n                                "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                );\n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9,uVar21);\n              }\n              else {\n                    \n                FUN_004443d0(&local_78,puVar10);\n                uVar9 = CONCAT71(uStack_77,local_78);\n                uVar11 = gettext(\n                                "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                );\n                    \n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9);\n                if ((undefined1 *)CONCAT71(uStack_77,local_78) != auStack_68) {\n                  FUN_0049e340();\n                }\n              }\n                    \n              iVar8 = FUN_0039d3c0(lVar13,uVar21,local_e0,&local_e1);\n              if (iVar8 != 0) {\n                    \n                lVar15 = FUN_00397ec0(lVar13,iVar8,&local_dc);\n                if (local_dc != 0) {\n                    \n                  uVar9 = FUN_0039dd50(lVar13);\n                  uVar11 = gettext("  section group signature: \"%s\"");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n                if (lVar15 != 0) {\n                  uVar9 = *(undefined8 *)(lVar15 + 8);\n                  uVar11 = gettext("  prevailing definition is from %s");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n              }\n              iVar8 = 3;\n            }\n            else {\nLAB_00310006:\n              iVar8 = 2;\n            }\n            local_a8 = 0;\n          }\n          if ((int)local_b8 != 0) {\n                    \n                    \n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\n          local_b8 = CONCAT44(local_b8._4_4_,0xffffffff);\n          if (local_58[0] != abStack_48) {\n            FUN_0049e340();\n          }\n          puVar22 = &local_b8;\n          if (-1 < (long)local_140) goto LAB_0030fae5;\nLAB_0030fe48:\n          uVar9 = gettext("reloc has bad offset %zu");\n                    \n          FUN_0034aed0(param_2,local_148,local_140,uVar9,local_140);\n        }\n        else {\n          if ((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))\n          goto LAB_0030fa33;\n          if (uVar21 < *(uint *)(plVar23 + 0x24)) {\nLAB_003107a0:\n                    \n                    \n            FUN_00352af0("../../gold/target-reloc.h",0x17f,"relocate_section");\n          }\n          uVar14 = (ulong)(uVar21 - *(uint *)(plVar23 + 0x24));\n          if ((ulong)(plVar23[0x27] - plVar23[0x26] >> 3) <= uVar14) {\n                    \n            FUN_00352af0("../../gold/object.h",0x8ad,"global_symbol");\n          }\n          puVar10 = *(undefined8 **)(plVar23[0x26] + uVar14 * 8);\n          if (puVar10 == (undefined8 *)0x0) goto LAB_003107a0;\n          if ((*(byte *)((long)puVar10 + 0x3a) & 0x10) == 0) goto LAB_0030fa33;\n                    \n          puVar10 = (undefined8 *)FUN_00443580(*param_2,puVar10);\n          iVar7 = *(int *)((long)puVar10 + 0x1c);\n          uVar17 = iVar7 - 1;\n          if (uVar17 < 0xfffffffe) {\n            if (((int)local_d8 != 0) && ((int)local_d8 != -2)) {\n                    \n                    \n              FUN_00352af0("../../gold/object.h",0x70c,"set_output_symtab_index");\n            }\n            goto LAB_0030fcf0;\n          }\n          if ((int)local_d8 != 0) {\n                    \n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\nLAB_0030fa42:\n          local_d8 = CONCAT44(local_d8._4_4_,0xffffffff);\nLAB_0030fa4a:\n          local_c8 = *(undefined4 *)(puVar10 + 8);\n          if ((*(byte *)(puVar10 + 7) & 0xf) == 6) {\n            local_d0 = local_d0 | 0x20000000;\n          }\n          else if ((*(byte *)(puVar10 + 7) & 0xf) == 10) {\n            local_d0 = local_d0 | 0x40000000;\n          }\n          if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') {\n            if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) {\nLAB_0030fd10:\n                puVar22 = &local_d8;\n                uVar17 = 0;\n                goto LAB_0030fd25;\n              }\n            }\n            else if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 4) goto LAB_0030fd10;\n          }\n          puVar22 = &local_d8;\nLAB_0030faa5:\n          local_b0 = 0x80000000;\n          local_b8 = 0xffffffff00000000;\n          local_a8 = 0;\n          if ((long)local_140 < 0) goto LAB_0030fe48;\nLAB_0030fae5:\n          if ((param_10 <= local_140) || (local_140 + param_8 == 0)) goto LAB_0030fe48;\n          uVar21 = local_120[1];\n          if (uVar21 >> 0x18 != 0) {\n            uVar9 = gettext("Invalid/unrecognized reloc reloc %d.");\n                    \n            FUN_0034a750(uVar9,uVar21 >> 0x18);\n                    \n            FUN_00352af0("../../gold/aarch64-reloc-property.h",0xeb,"code_to_array_index");\n          }\n          if (*DAT_0067dff8 == 0) {\n                    \n            FUN_0031d8d0(local_58,DAT_0067dff8,0);\n            pbVar18 = local_58[0];\n            uVar9 = gettext("cannot relocate %s in object file");\n            uVar21 = *local_120;\n                    \n            FUN_0034aed0(param_2,local_148,\n                         uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18,uVar9,pbVar18);\n            if (local_58[0] != abStack_48) {\n              FUN_0049e340();\n            }\n          }\n          else {\n            plVar3 = (long *)param_2[2];\n            local_90 = 0x80000000;\n            local_98 = 0xffffffff00000000;\n            local_88 = 0;\n            if (puVar10 == (undefined8 *)0x0) {\n              if ((*(byte *)((long)puVar22 + 0xb) & 0x40) != 0) {\n                uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n                    \n                cVar4 = FUN_00397bb0(plVar3,uVar21);\n                if (cVar4 != '\0') {\n                  lVar13 = *(long *)(param_1 + 0x28);\n                  if (lVar13 == 0) {\n                    \n                    FUN_002ed4a0();\n                    goto LAB_003108ca;\n                  }\n                  if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    \n                    \n                    FUN_00352af0("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar9 = *(undefined8 *)(lVar13 + 8);\n                  iVar7 = *(int *)(lVar13 + 0x68);\n                  local_88 = (**(code **)(*plVar3 + 0x150))(plVar3,uVar21);\n                  local_88 = (int)uVar9 + 0x20 + iVar7 * 0x10 + local_88;\n                }\n              }\n            }\n            else {\n                    \n              cVar4 = FUN_00228fa0(puVar10,*(undefined4 *)(*DAT_0067dff8 + 0x4c));\n              if (cVar4 != '\0') {\n                if (*(long *)(param_1 + 0x28) == 0) {\n                    \n                  FUN_002ed4a0();\n                  goto LAB_00310805;\n                }\n                local_88 = FUN_002f9c90(*(long *)(param_1 + 0x28),puVar10);\n              }\n            }\n            FUN_001a5bc0(&local_98);\n          }\n          if (puVar10 != (undefined8 *)0x0) {\n            bVar16 = *(byte *)((long)puVar10 + 0x3a);\n            bVar5 = bVar16 & 7;\n            if ((bVar16 & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) != 0) || ((*(byte *)((long)puVar10 + 0x3b) & 0x20) == 0)) {\n                if (*(code **)(*(long *)puVar10[2] + 0x28) != FUN_001a4aa0) {\n                  lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                  if (lVar13 != 0) {\n                    bVar16 = *(byte *)((long)puVar10 + 0x3a);\n                    bVar5 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar5 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)puVar10 + 0x3b)) goto LAB_00310305;\n                    bVar5 = *(byte *)((long)puVar10 + 0x39);\n                    if ((bVar5 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }\nLAB_0031015a:\n                bVar16 = bVar16 & 7;\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                if ((*(byte *)((long)puVar10 + 0x39) & 3) == 0) goto LAB_003101c0;\nLAB_00310166:\n                if (((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)\n                    ) && ((*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0)))) {\nLAB_00310293:\n                  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_003108ca:\n                    \n                    \n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') {\n                    if (bVar16 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)(puVar10[2] + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }\n                if (bVar5 == 2) {\n                  uVar9 = gettext("hidden");\n                }\n                else if (bVar5 < 3) {\n                  if (bVar5 != 1) {\n                    \n                    FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar9 = gettext("internal");\n                }\n                else {\n                  uVar9 = gettext("protected");\n                }\n                uVar11 = *puVar10;\n                uVar12 = gettext("%s symbol \'%s\' is not defined locally");\n                    \n                FUN_0034a750(uVar12,uVar9,uVar11);\n                goto LAB_003101c0;\n              }\nLAB_0031020c:\n              if ((*(byte *)(puVar10 + 7) >> 4 == 2) || ((*(byte *)((long)puVar10 + 0x3c) & 2) != 0)\n                 ) {\nLAB_00310438:\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_0031043f:\n                if (bVar5 == 0) goto LAB_003101c0;\n                bVar16 = *(byte *)((long)puVar10 + 0x3a) & 7;\n                if (bVar16 != 0) goto LAB_00310270;\n                goto LAB_00310166;\n              }\n              if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\n                    \n                    \n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') goto LAB_00310438;\n              if (*(char *)((long)puVar10 + 0x3b) < '\0') {\n                if (bVar5 != 0) goto LAB_00310260;\nLAB_003105b8:\n                if (*(code **)(*(long *)puVar10[2] + 0x28) == FUN_001a4aa0) goto LAB_0031015a;\n                    \n                lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                if (lVar13 == 0) goto LAB_00310438;\n              }\nLAB_00310305:\n              plVar3 = *(long **)(PTR_DAT_0067cb08 + 0x18);\n              if (plVar3 == (long *)0x0) {\nLAB_00310805:\n                    \n                    \n                FUN_00352af0("../../gold/parameters.h",0x69,"target");\n              }\n              if ((*(code **)(*plVar3 + 0x38) != FUN_001a49e0) &&\n                 (cVar4 = (**(code **)(*plVar3 + 0x38))(plVar3,puVar10), cVar4 != '\0'))\n              goto LAB_00310438;\n              lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar13 == 0) {\n                    \n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              pbVar18 = *(byte **)(lVar13 + 0x6c40);\n              bVar24 = false;\n              bVar26 = pbVar18 == (byte *)0x0;\n              if (bVar26) {\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_003103c9:\n                if ((bVar5 == 2) ||\n                   ((*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0'))))\n                goto LAB_003103e1;\n                goto LAB_0031043f;\n              }\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"ignore-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar24 = *pbVar19 < *pbVar20;\n                bVar26 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar26);\n              bVar25 = false;\n              bVar24 = (!bVar24 && !bVar26) == bVar24;\n              if (bVar24) goto LAB_00310438;\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"report-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar25 = *pbVar19 < *pbVar20;\n                bVar24 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar15 = 0x17;\n                pbVar19 = pbVar18;\n                pbVar20 = (byte *)"ignore-in-object-files";\n                do {\n                  if (lVar15 == 0) break;\n                  lVar15 = lVar15 + -1;\n                  bVar26 = *pbVar19 < *pbVar20;\n                  bVar24 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if ((!bVar24) || (bVar24 = (*(byte *)((long)puVar10 + 0x3b) & 1) == 0, !bVar24)) {\n                  bVar26 = false;\n                  lVar15 = 0x16;\n                  pbVar19 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    if (lVar15 == 0) break;\n                    lVar15 = lVar15 + -1;\n                    bVar26 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  if (((!bVar26 && !bVar24) != bVar26) || (*(char *)((long)puVar10 + 0x3a) < '\0'))\n                  goto LAB_003103c9;\n                }\n                goto LAB_0031043f;\n              }\nLAB_003103e1:\n              FUN_0034b9f0(puVar10,param_2,local_148,local_140);\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            else {\n              if (bVar5 == 4) goto LAB_0031020c;\nLAB_00310260:\n              bVar5 = *(byte *)((long)puVar10 + 0x39);\n              if ((bVar5 & 3) != 0) {\nLAB_0031026d:\n                bVar5 = bVar5 & 3;\n                bVar16 = bVar16 & 7;\nLAB_00310270:\n                if (((bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2)) &&\n                   (bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0)) goto LAB_00310293;\n              }\nLAB_003101c0:\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            if ((bVar16 & 4) != 0) {\n              FUN_00446c20(*param_2 + 0x1e0,puVar10,param_2,local_148,local_140);\n            }\n          }\n        }\n        local_138 = &local_d8;\n        FUN_001a5bc0(&local_b8);\n        FUN_001a5bc0(local_138);\n      }\n      local_148 = local_148 + 1;\n      local_120 = local_120 + 3;\n    } while (param_5 != local_148);\n  }\n  return;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "code *pcVar2;" type_identifier (pointer_declarator "*pcVar2" * identifier) ;) (declaration "long *plVar3;" (sized_type_specifier "long" long) (pointer_declarator "*plVar3" * identifier) ;) (declaration "char cVar4;" primitive_type identifier ;) (declaration "byte bVar5;" type_identifier identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "undefined8 uVar9;" type_identifier identifier ;) (declaration "undefined8 *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "undefined8 uVar11;" type_identifier identifier ;) (declaration "undefined8 uVar12;" type_identifier identifier ;) (declaration "long lVar13;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong uVar14;" type_identifier identifier ;) (declaration "long lVar15;" (sized_type_specifier "long" long) identifier ;) (declaration "byte bVar16;" type_identifier identifier ;) (declaration "uint uVar17;" type_identifier identifier ;) (declaration "byte *pbVar18;" type_identifier (pointer_declarator "*pbVar18" * identifier) ;) (declaration "byte *pbVar19;" type_identifier (pointer_declarator "*pbVar19" * identifier) ;) (declaration "byte *pbVar20;" type_identifier (pointer_declarator "*pbVar20" * identifier) ;) (declaration "uint uVar21;" type_identifier identifier ;) (declaration "undefined8 *puVar22;" type_identifier (pointer_declarator "*puVar22" * identifier) ;) (declaration "long *plVar23;" (sized_type_specifier "long" long) (pointer_declarator "*plVar23" * identifier) ;) (declaration "bool bVar24;" primitive_type identifier ;) (declaration "bool bVar25;" primitive_type identifier ;) (declaration "bool bVar26;" primitive_type identifier ;) (declaration "byte bVar27;" type_identifier identifier ;) (declaration "long local_148;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong local_140;" type_identifier identifier ;) (declaration "undefined8 *local_138;" type_identifier (pointer_declarator "*local_138" * identifier) ;) (declaration "uint *local_120;" type_identifier (pointer_declarator "*local_120" * identifier) ;) (declaration "uint local_ec;" type_identifier identifier ;) (declaration "undefined1 local_e1;" type_identifier identifier ;) (declaration "undefined1 local_e0 [4];" type_identifier (array_declarator "local_e0 [4]" identifier [ number_literal ]) ;) (declaration "int local_dc;" primitive_type identifier ;) (declaration "undefined8 local_d8;" type_identifier identifier ;) (declaration "uint local_d0;" type_identifier identifier ;) (declaration "undefined4 local_c8;" type_identifier identifier ;) (declaration "undefined8 local_b8;" type_identifier identifier ;) (declaration "undefined4 local_b0;" type_identifier identifier ;) (declaration "int local_a8;" primitive_type identifier ;) (declaration "undefined8 local_98;" type_identifier identifier ;) (declaration "undefined4 local_90;" type_identifier identifier ;) (declaration "int local_88;" primitive_type identifier ;) (declaration "char local_78;" primitive_type identifier ;) (declaration "undefined7 uStack_77;" type_identifier identifier ;) (declaration "undefined1 auStack_68 [16];" type_identifier (array_declarator "auStack_68 [16]" identifier [ number_literal ]) ;) (declaration "byte *local_58 [2];" type_identifier (pointer_declarator "*local_58 [2]" * (array_declarator "local_58 [2]" identifier [ number_literal ])) ;) (declaration "byte abStack_48 [24];" type_identifier (array_declarator "abStack_48 [24]" identifier [ number_literal ]) ;) (expression_statement "bVar27 = 0;" (assignment_expression "bVar27 = 0" identifier = number_literal) ;) (if_statement "if (param_3 != 4) {\n                    \n    FUN_00352af0("../../gold/aarch64.cc",0x1fca,"relocate_section");\n  }" if (parenthesized_expression "(param_3 != 4)" ( (binary_expression "param_3 != 4" identifier != number_literal) )) (compound_statement "{\n                    \n    FUN_00352af0("../../gold/aarch64.cc",0x1fca,"relocate_section");\n  }" { (expression_statement "FUN_00352af0("../../gold/aarch64.cc",0x1fca,"relocate_section");" (call_expression "FUN_00352af0("../../gold/aarch64.cc",0x1fca,"relocate_section")" identifier (argument_list "("../../gold/aarch64.cc",0x1fca,"relocate_section")" ( (string_literal ""../../gold/aarch64.cc"" " string_content ") , number_literal , (string_literal ""relocate_section"" " string_content ") ))) ;) })) (expression_statement "plVar23 = (long *)param_2[2];" (assignment_expression "plVar23 = (long *)param_2[2]" identifier = (cast_expression "(long *)param_2[2]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[2]" identifier [ number_literal ]))) ;) (if_statement "if (param_7 != '\0') {\n    lVar13 = FUN_003cfdd0(param_6,plVar23,(int)param_2[6]);\n    if (lVar13 == 0) {\n      plVar23 = (long *)param_2[2];\n    }\n    else {\n      if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    \n        FUN_00352af0("../../gold/output.h",0xc5,"address");\n      }\n      if ((*(byte *)(lVar13 + 0x20) & 2) == 0) {\n                    \n        FUN_00352af0("../../gold/output.h",0xcf,"data_size");\n      }\n      uVar21 = (uint)*(ulong *)(lVar13 + 8);\n      if ((uVar21 < param_9) ||\n         (param_9 + param_10 < (*(ulong *)(lVar13 + 8) & 0xffffffff) + *(ulong *)(lVar13 + 0x10))) {\n                    \n        FUN_00352af0("../../gold/aarch64.cc",0x1fda,"relocate_section");\n      }\n      plVar23 = (long *)param_2[2];\n      param_8 = param_8 + (ulong)(uVar21 - param_9);\n      param_10 = *(ulong *)(lVar13 + 0x10);\n    }\n  }" if (parenthesized_expression "(param_7 != '\0')" ( (binary_expression "param_7 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    lVar13 = FUN_003cfdd0(param_6,plVar23,(int)param_2[6]);\n    if (lVar13 == 0) {\n      plVar23 = (long *)param_2[2];\n    }\n    else {\n      if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    \n        FUN_00352af0("../../gold/output.h",0xc5,"address");\n      }\n      if ((*(byte *)(lVar13 + 0x20) & 2) == 0) {\n                    \n        FUN_00352af0("../../gold/output.h",0xcf,"data_size");\n      }\n      uVar21 = (uint)*(ulong *)(lVar13 + 8);\n      if ((uVar21 < param_9) ||\n         (param_9 + param_10 < (*(ulong *)(lVar13 + 8) & 0xffffffff) + *(ulong *)(lVar13 + 0x10))) {\n                    \n        FUN_00352af0("../../gold/aarch64.cc",0x1fda,"relocate_section");\n      }\n      plVar23 = (long *)param_2[2];\n      param_8 = param_8 + (ulong)(uVar21 - param_9);\n      param_10 = *(ulong *)(lVar13 + 0x10);\n    }\n  }" { (expression_statement "lVar13 = FUN_003cfdd0(param_6,plVar23,(int)param_2[6]);" (assignment_expression "lVar13 = FUN_003cfdd0(param_6,plVar23,(int)param_2[6])" identifier = (call_expression "FUN_003cfdd0(param_6,plVar23,(int)param_2[6])" identifier (argument_list "(param_6,plVar23,(int)param_2[6])" ( identifier , identifier , (cast_expression "(int)param_2[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_2[6]" identifier [ number_literal ])) )))) ;) (if_statement "if (lVar13 == 0) {\n      plVar23 = (long *)param_2[2];\n    }\n    else {\n      if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    \n        FUN_00352af0("../../gold/output.h",0xc5,"address");\n      }\n      if ((*(byte *)(lVar13 + 0x20) & 2) == 0) {\n                    \n        FUN_00352af0("../../gold/output.h",0xcf,"data_size");\n      }\n      uVar21 = (uint)*(ulong *)(lVar13 + 8);\n      if ((uVar21 < param_9) ||\n         (param_9 + param_10 < (*(ulong *)(lVar13 + 8) & 0xffffffff) + *(ulong *)(lVar13 + 0x10))) {\n                    \n        FUN_00352af0("../../gold/aarch64.cc",0x1fda,"relocate_section");\n      }\n      plVar23 = (long *)param_2[2];\n      param_8 = param_8 + (ulong)(uVar21 - param_9);\n      param_10 = *(ulong *)(lVar13 + 0x10);\n    }" if (parenthesized_expression "(lVar13 == 0)" ( (binary_expression "lVar13 == 0" identifier == number_literal) )) (compound_statement "{\n      plVar23 = (long *)param_2[2];\n    }" { (expression_statement "plVar23 = (long *)param_2[2];" (assignment_expression "plVar23 = (long *)param_2[2]" identifier = (cast_expression "(long *)param_2[2]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[2]" identifier [ number_literal ]))) ;) }) (else_clause "else {\n      if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    \n        FUN_00352af0("../../gold/output.h",0xc5,"address");\n      }\n      if ((*(byte *)(lVar13 + 0x20) & 2) == 0) {\n                    \n        FUN_00352af0("../../gold/output.h",0xcf,"data_size");\n      }\n      uVar21 = (uint)*(ulong *)(lVar13 + 8);\n      if ((uVar21 < param_9) ||\n         (param_9 + param_10 < (*(ulong *)(lVar13 + 8) & 0xffffffff) + *(ulong *)(lVar13 + 0x10))) {\n                    \n        FUN_00352af0("../../gold/aarch64.cc",0x1fda,"relocate_section");\n      }\n      plVar23 = (long *)param_2[2];\n      param_8 = param_8 + (ulong)(uVar21 - param_9);\n      param_10 = *(ulong *)(lVar13 + 0x10);\n    }" else (compound_statement "{\n      if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    \n        FUN_00352af0("../../gold/output.h",0xc5,"address");\n      }\n      if ((*(byte *)(lVar13 + 0x20) & 2) == 0) {\n                    \n        FUN_00352af0("../../gold/output.h",0xcf,"data_size");\n      }\n      uVar21 = (uint)*(ulong *)(lVar13 + 8);\n      if ((uVar21 < param_9) ||\n         (param_9 + param_10 < (*(ulong *)(lVar13 + 8) & 0xffffffff) + *(ulong *)(lVar13 + 0x10))) {\n                    \n        FUN_00352af0("../../gold/aarch64.cc",0x1fda,"relocate_section");\n      }\n      plVar23 = (long *)param_2[2];\n      param_8 = param_8 + (ulong)(uVar21 - param_9);\n      param_10 = *(ulong *)(lVar13 + 0x10);\n    }" { (if_statement "if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    \n        FUN_00352af0("../../gold/output.h",0xc5,"address");\n      }" if (parenthesized_expression "((*(byte *)(lVar13 + 0x20) & 1) == 0)" ( (binary_expression "(*(byte *)(lVar13 + 0x20) & 1) == 0" (parenthesized_expression "(*(byte *)(lVar13 + 0x20) & 1)" ( (binary_expression "*(byte *)(lVar13 + 0x20) & 1" (pointer_expression "*(byte *)(lVar13 + 0x20)" * (cast_expression "(byte *)(lVar13 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x20)" ( (binary_expression "lVar13 + 0x20" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                    \n        FUN_00352af0("../../gold/output.h",0xc5,"address");\n      }" { (expression_statement "FUN_00352af0("../../gold/output.h",0xc5,"address");" (call_expression "FUN_00352af0("../../gold/output.h",0xc5,"address")" identifier (argument_list "("../../gold/output.h",0xc5,"address")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""address"" " string_content ") ))) ;) })) (if_statement "if ((*(byte *)(lVar13 + 0x20) & 2) == 0) {\n                    \n        FUN_00352af0("../../gold/output.h",0xcf,"data_size");\n      }" if (parenthesized_expression "((*(byte *)(lVar13 + 0x20) & 2) == 0)" ( (binary_expression "(*(byte *)(lVar13 + 0x20) & 2) == 0" (parenthesized_expression "(*(byte *)(lVar13 + 0x20) & 2)" ( (binary_expression "*(byte *)(lVar13 + 0x20) & 2" (pointer_expression "*(byte *)(lVar13 + 0x20)" * (cast_expression "(byte *)(lVar13 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x20)" ( (binary_expression "lVar13 + 0x20" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                    \n        FUN_00352af0("../../gold/output.h",0xcf,"data_size");\n      }" { (expression_statement "FUN_00352af0("../../gold/output.h",0xcf,"data_size");" (call_expression "FUN_00352af0("../../gold/output.h",0xcf,"data_size")" identifier (argument_list "("../../gold/output.h",0xcf,"data_size")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""data_size"" " string_content ") ))) ;) })) (expression_statement "uVar21 = (uint)*(ulong *)(lVar13 + 8);" (assignment_expression "uVar21 = (uint)*(ulong *)(lVar13 + 8)" identifier = (binary_expression "(uint)*(ulong *)(lVar13 + 8)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ulong *)(lVar13 + 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 8)" ( (binary_expression "lVar13 + 8" identifier + number_literal) ))))) ;) (if_statement "if ((uVar21 < param_9) ||\n         (param_9 + param_10 < (*(ulong *)(lVar13 + 8) & 0xffffffff) + *(ulong *)(lVar13 + 0x10))) {\n                    \n        FUN_00352af0("../../gold/aarch64.cc",0x1fda,"relocate_section");\n      }" if (parenthesized_expression "((uVar21 < param_9) ||\n         (param_9 + param_10 < (*(ulong *)(lVar13 + 8) & 0xffffffff) + *(ulong *)(lVar13 + 0x10)))" ( (binary_expression "(uVar21 < param_9) ||\n         (param_9 + param_10 < (*(ulong *)(lVar13 + 8) & 0xffffffff) + *(ulong *)(lVar13 + 0x10))" (parenthesized_expression "(uVar21 < param_9)" ( (binary_expression "uVar21 < param_9" identifier < identifier) )) || (parenthesized_expression "(param_9 + param_10 < (*(ulong *)(lVar13 + 8) & 0xffffffff) + *(ulong *)(lVar13 + 0x10))" ( (binary_expression "param_9 + param_10 < (*(ulong *)(lVar13 + 8) & 0xffffffff) + *(ulong *)(lVar13 + 0x10)" (binary_expression "param_9 + param_10" identifier + identifier) < (binary_expression "(*(ulong *)(lVar13 + 8) & 0xffffffff) + *(ulong *)(lVar13 + 0x10)" (parenthesized_expression "(*(ulong *)(lVar13 + 8) & 0xffffffff)" ( (binary_expression "*(ulong *)(lVar13 + 8) & 0xffffffff" (pointer_expression "*(ulong *)(lVar13 + 8)" * (cast_expression "(ulong *)(lVar13 + 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 8)" ( (binary_expression "lVar13 + 8" identifier + number_literal) )))) & number_literal) )) + (pointer_expression "*(ulong *)(lVar13 + 0x10)" * (cast_expression "(ulong *)(lVar13 + 0x10)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x10)" ( (binary_expression "lVar13 + 0x10" identifier + number_literal) )))))) ))) )) (compound_statement "{\n                    \n        FUN_00352af0("../../gold/aarch64.cc",0x1fda,"relocate_section");\n      }" { (expression_statement "FUN_00352af0("../../gold/aarch64.cc",0x1fda,"relocate_section");" (call_expression "FUN_00352af0("../../gold/aarch64.cc",0x1fda,"relocate_section")" identifier (argument_list "("../../gold/aarch64.cc",0x1fda,"relocate_section")" ( (string_literal ""../../gold/aarch64.cc"" " string_content ") , number_literal , (string_literal ""relocate_section"" " string_content ") ))) ;) })) (expression_statement "plVar23 = (long *)param_2[2];" (assignment_expression "plVar23 = (long *)param_2[2]" identifier = (cast_expression "(long *)param_2[2]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[2]" identifier [ number_literal ]))) ;) (expression_statement "param_8 = param_8 + (ulong)(uVar21 - param_9);" (assignment_expression "param_8 = param_8 + (ulong)(uVar21 - param_9)" identifier = (binary_expression "param_8 + (ulong)(uVar21 - param_9)" identifier + (call_expression "(ulong)(uVar21 - param_9)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar21 - param_9)" ( (binary_expression "uVar21 - param_9" identifier - identifier) ))))) ;) (expression_statement "param_10 = *(ulong *)(lVar13 + 0x10);" (assignment_expression "param_10 = *(ulong *)(lVar13 + 0x10)" identifier = (pointer_expression "*(ulong *)(lVar13 + 0x10)" * (cast_expression "(ulong *)(lVar13 + 0x10)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x10)" ( (binary_expression "lVar13 + 0x10" identifier + number_literal) ))))) ;) }))) })) (expression_statement "pcVar2 = *(code **)(*plVar23 + 0x118);" (assignment_expression "pcVar2 = *(code **)(*plVar23 + 0x118)" identifier = (pointer_expression "*(code **)(*plVar23 + 0x118)" * (cast_expression "(code **)(*plVar23 + 0x118)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar23 + 0x118)" ( (binary_expression "*plVar23 + 0x118" (pointer_expression "*plVar23" * identifier) + number_literal) ))))) ;) (if_statement "if (pcVar2 == FUN_001a4ab0) {\n    local_ec = (**(code **)(*plVar23 + 0x178))();\n  }\n  else {\n    local_ec = (*pcVar2)(plVar23);\n  }" if (parenthesized_expression "(pcVar2 == FUN_001a4ab0)" ( (binary_expression "pcVar2 == FUN_001a4ab0" identifier == identifier) )) (compound_statement "{\n    local_ec = (**(code **)(*plVar23 + 0x178))();\n  }" { (expression_statement "local_ec = (**(code **)(*plVar23 + 0x178))();" (assignment_expression "local_ec = (**(code **)(*plVar23 + 0x178))()" identifier = (call_expression "(**(code **)(*plVar23 + 0x178))()" (parenthesized_expression "(**(code **)(*plVar23 + 0x178))" ( (pointer_expression "**(code **)(*plVar23 + 0x178)" * (pointer_expression "*(code **)(*plVar23 + 0x178)" * (cast_expression "(code **)(*plVar23 + 0x178)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar23 + 0x178)" ( (binary_expression "*plVar23 + 0x178" (pointer_expression "*plVar23" * identifier) + number_literal) ))))) )) (argument_list "()" ( )))) ;) }) (else_clause "else {\n    local_ec = (*pcVar2)(plVar23);\n  }" else (compound_statement "{\n    local_ec = (*pcVar2)(plVar23);\n  }" { (expression_statement "local_ec = (*pcVar2)(plVar23);" (assignment_expression "local_ec = (*pcVar2)(plVar23)" identifier = (call_expression "(*pcVar2)(plVar23)" (parenthesized_expression "(*pcVar2)" ( (pointer_expression "*pcVar2" * identifier) )) (argument_list "(plVar23)" ( identifier )))) ;) }))) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "local_148 = 0;" (assignment_expression "local_148 = 0" identifier = number_literal) ;) (expression_statement "local_120 = param_4;" (assignment_expression "local_120 = param_4" identifier = identifier) ;) (if_statement "if (param_5 != 0) {\n    do {\n      uVar21 = *local_120;\n      local_140 = (ulong)(uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18);\n      if ((param_7 == '\0') ||\n         (local_140 = FUN_003cff80(param_6,param_2[2],(int)param_2[6],local_140),\n         local_140 != 0xffffffffffffffff)) {\n        local_d0 = 0x80000000;\n        local_c8 = 0;\n        uVar21 = local_120[1];\n        local_d8 = 0xffffffff00000000;\n        uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n        if (uVar21 < local_ec) {\n          if ((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))\n          {\nLAB_0030fa33:\n            iVar7 = *(int *)((long)puVar10 + 0x1c);\n            uVar17 = iVar7 - 1;\n            if (0xfffffffd < uVar17) goto LAB_0030fa42;\nLAB_0030fcf0:\n            if (uVar17 == 0xfffffffd) {\n                    \n              FUN_00352af0("../../gold/object.h",0x70d,"set_output_symtab_index");\n            }\n            local_d8 = CONCAT44(local_d8._4_4_,iVar7);\n            goto LAB_0030fa4a;\n          }\n          if ((ulong)((plVar23[0x2d] - plVar23[0x2c] >> 3) * -0x5555555555555555) <= (ulong)uVar21)\n          {\n                    \n            FUN_00352af0("../../gold/object.h",0x8c1,"local_symbol");\n          }\n          puVar22 = (undefined8 *)(plVar23[0x2c] + (ulong)uVar21 * 0x18);\n          uVar1 = *(uint *)(puVar22 + 1);\n          uVar6 = uVar1 & 0x7ffffff;\n          uVar17 = uVar1 & 0x7ffffff;\n          if (((*(byte *)((long)puVar22 + 0xb) & 8) == 0) || (uVar6 == 0)) {\nLAB_0030fbb3:\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }\n          if ((ulong)(plVar23[0xb] - plVar23[10] >> 3) <= (ulong)uVar6) {\n                    \n                    \n            FUN_00352af0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(long *)(plVar23[10] + (ulong)uVar6 * 8) != 0) goto LAB_0030fbb3;\n          cVar4 = FUN_00443530(*param_2,plVar23,uVar1 & 0x7ffffff);\n          puVar10 = (undefined8 *)0x0;\n          if (cVar4 != '\0') {\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }\nLAB_0030fd25:\n          local_b0 = 0x80000000;\n          local_b8 = 0xffffffff00000000;\n          local_a8 = 0;\n          if (*(code **)(*plVar23 + 0x80) == FUN_0022c990) {\n                    \n            FUN_0022c800(local_58,plVar23 + 0x1f);\n          }\n          else {\n                    \n            (**(code **)(*plVar23 + 0x80))(local_58,plVar23,(int)param_2[6]);\n          }\n          bVar24 = false;\n          bVar26 = iVar8 == 0;\n          if (bVar26) {\n            lVar13 = 6;\n            pbVar18 = local_58[0];\n            pbVar19 = &DAT_00533552;\n            do {\n              if (lVar13 == 0) break;\n              lVar13 = lVar13 + -1;\n              bVar24 = *pbVar18 < *pbVar19;\n              bVar26 = *pbVar18 == *pbVar19;\n              pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n              pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n            } while (bVar26);\n            bVar25 = false;\n            bVar24 = (!bVar24 && !bVar26) == bVar24;\n            if (!bVar24) {\n              lVar13 = 7;\n              pbVar18 = local_58[0];\n              pbVar19 = (byte *)".zdebug";\n              do {\n                if (lVar13 == 0) break;\n                lVar13 = lVar13 + -1;\n                bVar25 = *pbVar18 < *pbVar19;\n                bVar24 = *pbVar18 == *pbVar19;\n                pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar13 = 0x11;\n                pbVar18 = local_58[0];\n                pbVar19 = (byte *)".gnu.linkonce.wi.";\n                do {\n                  if (lVar13 == 0) break;\n                  lVar13 = lVar13 + -1;\n                  bVar26 = *pbVar18 < *pbVar19;\n                  bVar24 = *pbVar18 == *pbVar19;\n                  pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  lVar13 = 5;\n                  pbVar18 = local_58[0];\n                  pbVar19 = (byte *)".line";\n                  do {\n                    if (lVar13 == 0) break;\n                    lVar13 = lVar13 + -1;\n                    bVar25 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    lVar13 = 5;\n                    pbVar18 = local_58[0];\n                    pbVar19 = (byte *)".stab";\n                    do {\n                      if (lVar13 == 0) break;\n                      lVar13 = lVar13 + -1;\n                      bVar26 = *pbVar18 < *pbVar19;\n                      bVar24 = *pbVar18 == *pbVar19;\n                      pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                      pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      lVar13 = 4;\n                      pbVar18 = local_58[0];\n                      pbVar19 = &DAT_0053357f;\n                      do {\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0030fdc0:\n                    \n            iVar8 = FUN_00397c50(plVar23,uVar17,local_58,&local_78);\n            local_a8 = 0;\n            if (local_78 != '\0') {\n              local_a8 = iVar8 + *(int *)(puVar22 + 2);\n            }\n            iVar8 = 1;\n          }\n          else {\n            if (iVar8 == 1) goto LAB_0030fdc0;\n            if (iVar8 == 3) {\nLAB_0030ff50:\n              lVar13 = param_2[2];\n              if (puVar10 == (undefined8 *)0x0) {\n                    \n                uVar9 = FUN_0039dd50(lVar13,uVar21);\n                uVar11 = gettext(\n                                "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                );\n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9,uVar21);\n              }\n              else {\n                    \n                FUN_004443d0(&local_78,puVar10);\n                uVar9 = CONCAT71(uStack_77,local_78);\n                uVar11 = gettext(\n                                "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                );\n                    \n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9);\n                if ((undefined1 *)CONCAT71(uStack_77,local_78) != auStack_68) {\n                  FUN_0049e340();\n                }\n              }\n                    \n              iVar8 = FUN_0039d3c0(lVar13,uVar21,local_e0,&local_e1);\n              if (iVar8 != 0) {\n                    \n                lVar15 = FUN_00397ec0(lVar13,iVar8,&local_dc);\n                if (local_dc != 0) {\n                    \n                  uVar9 = FUN_0039dd50(lVar13);\n                  uVar11 = gettext("  section group signature: \"%s\"");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n                if (lVar15 != 0) {\n                  uVar9 = *(undefined8 *)(lVar15 + 8);\n                  uVar11 = gettext("  prevailing definition is from %s");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n              }\n              iVar8 = 3;\n            }\n            else {\nLAB_00310006:\n              iVar8 = 2;\n            }\n            local_a8 = 0;\n          }\n          if ((int)local_b8 != 0) {\n                    \n                    \n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\n          local_b8 = CONCAT44(local_b8._4_4_,0xffffffff);\n          if (local_58[0] != abStack_48) {\n            FUN_0049e340();\n          }\n          puVar22 = &local_b8;\n          if (-1 < (long)local_140) goto LAB_0030fae5;\nLAB_0030fe48:\n          uVar9 = gettext("reloc has bad offset %zu");\n                    \n          FUN_0034aed0(param_2,local_148,local_140,uVar9,local_140);\n        }\n        else {\n          if ((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))\n          goto LAB_0030fa33;\n          if (uVar21 < *(uint *)(plVar23 + 0x24)) {\nLAB_003107a0:\n                    \n                    \n            FUN_00352af0("../../gold/target-reloc.h",0x17f,"relocate_section");\n          }\n          uVar14 = (ulong)(uVar21 - *(uint *)(plVar23 + 0x24));\n          if ((ulong)(plVar23[0x27] - plVar23[0x26] >> 3) <= uVar14) {\n                    \n            FUN_00352af0("../../gold/object.h",0x8ad,"global_symbol");\n          }\n          puVar10 = *(undefined8 **)(plVar23[0x26] + uVar14 * 8);\n          if (puVar10 == (undefined8 *)0x0) goto LAB_003107a0;\n          if ((*(byte *)((long)puVar10 + 0x3a) & 0x10) == 0) goto LAB_0030fa33;\n                    \n          puVar10 = (undefined8 *)FUN_00443580(*param_2,puVar10);\n          iVar7 = *(int *)((long)puVar10 + 0x1c);\n          uVar17 = iVar7 - 1;\n          if (uVar17 < 0xfffffffe) {\n            if (((int)local_d8 != 0) && ((int)local_d8 != -2)) {\n                    \n                    \n              FUN_00352af0("../../gold/object.h",0x70c,"set_output_symtab_index");\n            }\n            goto LAB_0030fcf0;\n          }\n          if ((int)local_d8 != 0) {\n                    \n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\nLAB_0030fa42:\n          local_d8 = CONCAT44(local_d8._4_4_,0xffffffff);\nLAB_0030fa4a:\n          local_c8 = *(undefined4 *)(puVar10 + 8);\n          if ((*(byte *)(puVar10 + 7) & 0xf) == 6) {\n            local_d0 = local_d0 | 0x20000000;\n          }\n          else if ((*(byte *)(puVar10 + 7) & 0xf) == 10) {\n            local_d0 = local_d0 | 0x40000000;\n          }\n          if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') {\n            if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) {\nLAB_0030fd10:\n                puVar22 = &local_d8;\n                uVar17 = 0;\n                goto LAB_0030fd25;\n              }\n            }\n            else if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 4) goto LAB_0030fd10;\n          }\n          puVar22 = &local_d8;\nLAB_0030faa5:\n          local_b0 = 0x80000000;\n          local_b8 = 0xffffffff00000000;\n          local_a8 = 0;\n          if ((long)local_140 < 0) goto LAB_0030fe48;\nLAB_0030fae5:\n          if ((param_10 <= local_140) || (local_140 + param_8 == 0)) goto LAB_0030fe48;\n          uVar21 = local_120[1];\n          if (uVar21 >> 0x18 != 0) {\n            uVar9 = gettext("Invalid/unrecognized reloc reloc %d.");\n                    \n            FUN_0034a750(uVar9,uVar21 >> 0x18);\n                    \n            FUN_00352af0("../../gold/aarch64-reloc-property.h",0xeb,"code_to_array_index");\n          }\n          if (*DAT_0067dff8 == 0) {\n                    \n            FUN_0031d8d0(local_58,DAT_0067dff8,0);\n            pbVar18 = local_58[0];\n            uVar9 = gettext("cannot relocate %s in object file");\n            uVar21 = *local_120;\n                    \n            FUN_0034aed0(param_2,local_148,\n                         uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18,uVar9,pbVar18);\n            if (local_58[0] != abStack_48) {\n              FUN_0049e340();\n            }\n          }\n          else {\n            plVar3 = (long *)param_2[2];\n            local_90 = 0x80000000;\n            local_98 = 0xffffffff00000000;\n            local_88 = 0;\n            if (puVar10 == (undefined8 *)0x0) {\n              if ((*(byte *)((long)puVar22 + 0xb) & 0x40) != 0) {\n                uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n                    \n                cVar4 = FUN_00397bb0(plVar3,uVar21);\n                if (cVar4 != '\0') {\n                  lVar13 = *(long *)(param_1 + 0x28);\n                  if (lVar13 == 0) {\n                    \n                    FUN_002ed4a0();\n                    goto LAB_003108ca;\n                  }\n                  if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    \n                    \n                    FUN_00352af0("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar9 = *(undefined8 *)(lVar13 + 8);\n                  iVar7 = *(int *)(lVar13 + 0x68);\n                  local_88 = (**(code **)(*plVar3 + 0x150))(plVar3,uVar21);\n                  local_88 = (int)uVar9 + 0x20 + iVar7 * 0x10 + local_88;\n                }\n              }\n            }\n            else {\n                    \n              cVar4 = FUN_00228fa0(puVar10,*(undefined4 *)(*DAT_0067dff8 + 0x4c));\n              if (cVar4 != '\0') {\n                if (*(long *)(param_1 + 0x28) == 0) {\n                    \n                  FUN_002ed4a0();\n                  goto LAB_00310805;\n                }\n                local_88 = FUN_002f9c90(*(long *)(param_1 + 0x28),puVar10);\n              }\n            }\n            FUN_001a5bc0(&local_98);\n          }\n          if (puVar10 != (undefined8 *)0x0) {\n            bVar16 = *(byte *)((long)puVar10 + 0x3a);\n            bVar5 = bVar16 & 7;\n            if ((bVar16 & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) != 0) || ((*(byte *)((long)puVar10 + 0x3b) & 0x20) == 0)) {\n                if (*(code **)(*(long *)puVar10[2] + 0x28) != FUN_001a4aa0) {\n                  lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                  if (lVar13 != 0) {\n                    bVar16 = *(byte *)((long)puVar10 + 0x3a);\n                    bVar5 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar5 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)puVar10 + 0x3b)) goto LAB_00310305;\n                    bVar5 = *(byte *)((long)puVar10 + 0x39);\n                    if ((bVar5 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }\nLAB_0031015a:\n                bVar16 = bVar16 & 7;\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                if ((*(byte *)((long)puVar10 + 0x39) & 3) == 0) goto LAB_003101c0;\nLAB_00310166:\n                if (((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)\n                    ) && ((*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0)))) {\nLAB_00310293:\n                  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_003108ca:\n                    \n                    \n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') {\n                    if (bVar16 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)(puVar10[2] + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }\n                if (bVar5 == 2) {\n                  uVar9 = gettext("hidden");\n                }\n                else if (bVar5 < 3) {\n                  if (bVar5 != 1) {\n                    \n                    FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar9 = gettext("internal");\n                }\n                else {\n                  uVar9 = gettext("protected");\n                }\n                uVar11 = *puVar10;\n                uVar12 = gettext("%s symbol \'%s\' is not defined locally");\n                    \n                FUN_0034a750(uVar12,uVar9,uVar11);\n                goto LAB_003101c0;\n              }\nLAB_0031020c:\n              if ((*(byte *)(puVar10 + 7) >> 4 == 2) || ((*(byte *)((long)puVar10 + 0x3c) & 2) != 0)\n                 ) {\nLAB_00310438:\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_0031043f:\n                if (bVar5 == 0) goto LAB_003101c0;\n                bVar16 = *(byte *)((long)puVar10 + 0x3a) & 7;\n                if (bVar16 != 0) goto LAB_00310270;\n                goto LAB_00310166;\n              }\n              if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\n                    \n                    \n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') goto LAB_00310438;\n              if (*(char *)((long)puVar10 + 0x3b) < '\0') {\n                if (bVar5 != 0) goto LAB_00310260;\nLAB_003105b8:\n                if (*(code **)(*(long *)puVar10[2] + 0x28) == FUN_001a4aa0) goto LAB_0031015a;\n                    \n                lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                if (lVar13 == 0) goto LAB_00310438;\n              }\nLAB_00310305:\n              plVar3 = *(long **)(PTR_DAT_0067cb08 + 0x18);\n              if (plVar3 == (long *)0x0) {\nLAB_00310805:\n                    \n                    \n                FUN_00352af0("../../gold/parameters.h",0x69,"target");\n              }\n              if ((*(code **)(*plVar3 + 0x38) != FUN_001a49e0) &&\n                 (cVar4 = (**(code **)(*plVar3 + 0x38))(plVar3,puVar10), cVar4 != '\0'))\n              goto LAB_00310438;\n              lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar13 == 0) {\n                    \n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              pbVar18 = *(byte **)(lVar13 + 0x6c40);\n              bVar24 = false;\n              bVar26 = pbVar18 == (byte *)0x0;\n              if (bVar26) {\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_003103c9:\n                if ((bVar5 == 2) ||\n                   ((*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0'))))\n                goto LAB_003103e1;\n                goto LAB_0031043f;\n              }\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"ignore-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar24 = *pbVar19 < *pbVar20;\n                bVar26 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar26);\n              bVar25 = false;\n              bVar24 = (!bVar24 && !bVar26) == bVar24;\n              if (bVar24) goto LAB_00310438;\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"report-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar25 = *pbVar19 < *pbVar20;\n                bVar24 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar15 = 0x17;\n                pbVar19 = pbVar18;\n                pbVar20 = (byte *)"ignore-in-object-files";\n                do {\n                  if (lVar15 == 0) break;\n                  lVar15 = lVar15 + -1;\n                  bVar26 = *pbVar19 < *pbVar20;\n                  bVar24 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if ((!bVar24) || (bVar24 = (*(byte *)((long)puVar10 + 0x3b) & 1) == 0, !bVar24)) {\n                  bVar26 = false;\n                  lVar15 = 0x16;\n                  pbVar19 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    if (lVar15 == 0) break;\n                    lVar15 = lVar15 + -1;\n                    bVar26 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  if (((!bVar26 && !bVar24) != bVar26) || (*(char *)((long)puVar10 + 0x3a) < '\0'))\n                  goto LAB_003103c9;\n                }\n                goto LAB_0031043f;\n              }\nLAB_003103e1:\n              FUN_0034b9f0(puVar10,param_2,local_148,local_140);\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            else {\n              if (bVar5 == 4) goto LAB_0031020c;\nLAB_00310260:\n              bVar5 = *(byte *)((long)puVar10 + 0x39);\n              if ((bVar5 & 3) != 0) {\nLAB_0031026d:\n                bVar5 = bVar5 & 3;\n                bVar16 = bVar16 & 7;\nLAB_00310270:\n                if (((bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2)) &&\n                   (bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0)) goto LAB_00310293;\n              }\nLAB_003101c0:\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            if ((bVar16 & 4) != 0) {\n              FUN_00446c20(*param_2 + 0x1e0,puVar10,param_2,local_148,local_140);\n            }\n          }\n        }\n        local_138 = &local_d8;\n        FUN_001a5bc0(&local_b8);\n        FUN_001a5bc0(local_138);\n      }\n      local_148 = local_148 + 1;\n      local_120 = local_120 + 3;\n    } while (param_5 != local_148);\n  }" if (parenthesized_expression "(param_5 != 0)" ( (binary_expression "param_5 != 0" identifier != number_literal) )) (compound_statement "{\n    do {\n      uVar21 = *local_120;\n      local_140 = (ulong)(uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18);\n      if ((param_7 == '\0') ||\n         (local_140 = FUN_003cff80(param_6,param_2[2],(int)param_2[6],local_140),\n         local_140 != 0xffffffffffffffff)) {\n        local_d0 = 0x80000000;\n        local_c8 = 0;\n        uVar21 = local_120[1];\n        local_d8 = 0xffffffff00000000;\n        uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n        if (uVar21 < local_ec) {\n          if ((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))\n          {\nLAB_0030fa33:\n            iVar7 = *(int *)((long)puVar10 + 0x1c);\n            uVar17 = iVar7 - 1;\n            if (0xfffffffd < uVar17) goto LAB_0030fa42;\nLAB_0030fcf0:\n            if (uVar17 == 0xfffffffd) {\n                    \n              FUN_00352af0("../../gold/object.h",0x70d,"set_output_symtab_index");\n            }\n            local_d8 = CONCAT44(local_d8._4_4_,iVar7);\n            goto LAB_0030fa4a;\n          }\n          if ((ulong)((plVar23[0x2d] - plVar23[0x2c] >> 3) * -0x5555555555555555) <= (ulong)uVar21)\n          {\n                    \n            FUN_00352af0("../../gold/object.h",0x8c1,"local_symbol");\n          }\n          puVar22 = (undefined8 *)(plVar23[0x2c] + (ulong)uVar21 * 0x18);\n          uVar1 = *(uint *)(puVar22 + 1);\n          uVar6 = uVar1 & 0x7ffffff;\n          uVar17 = uVar1 & 0x7ffffff;\n          if (((*(byte *)((long)puVar22 + 0xb) & 8) == 0) || (uVar6 == 0)) {\nLAB_0030fbb3:\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }\n          if ((ulong)(plVar23[0xb] - plVar23[10] >> 3) <= (ulong)uVar6) {\n                    \n                    \n            FUN_00352af0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(long *)(plVar23[10] + (ulong)uVar6 * 8) != 0) goto LAB_0030fbb3;\n          cVar4 = FUN_00443530(*param_2,plVar23,uVar1 & 0x7ffffff);\n          puVar10 = (undefined8 *)0x0;\n          if (cVar4 != '\0') {\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }\nLAB_0030fd25:\n          local_b0 = 0x80000000;\n          local_b8 = 0xffffffff00000000;\n          local_a8 = 0;\n          if (*(code **)(*plVar23 + 0x80) == FUN_0022c990) {\n                    \n            FUN_0022c800(local_58,plVar23 + 0x1f);\n          }\n          else {\n                    \n            (**(code **)(*plVar23 + 0x80))(local_58,plVar23,(int)param_2[6]);\n          }\n          bVar24 = false;\n          bVar26 = iVar8 == 0;\n          if (bVar26) {\n            lVar13 = 6;\n            pbVar18 = local_58[0];\n            pbVar19 = &DAT_00533552;\n            do {\n              if (lVar13 == 0) break;\n              lVar13 = lVar13 + -1;\n              bVar24 = *pbVar18 < *pbVar19;\n              bVar26 = *pbVar18 == *pbVar19;\n              pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n              pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n            } while (bVar26);\n            bVar25 = false;\n            bVar24 = (!bVar24 && !bVar26) == bVar24;\n            if (!bVar24) {\n              lVar13 = 7;\n              pbVar18 = local_58[0];\n              pbVar19 = (byte *)".zdebug";\n              do {\n                if (lVar13 == 0) break;\n                lVar13 = lVar13 + -1;\n                bVar25 = *pbVar18 < *pbVar19;\n                bVar24 = *pbVar18 == *pbVar19;\n                pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar13 = 0x11;\n                pbVar18 = local_58[0];\n                pbVar19 = (byte *)".gnu.linkonce.wi.";\n                do {\n                  if (lVar13 == 0) break;\n                  lVar13 = lVar13 + -1;\n                  bVar26 = *pbVar18 < *pbVar19;\n                  bVar24 = *pbVar18 == *pbVar19;\n                  pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  lVar13 = 5;\n                  pbVar18 = local_58[0];\n                  pbVar19 = (byte *)".line";\n                  do {\n                    if (lVar13 == 0) break;\n                    lVar13 = lVar13 + -1;\n                    bVar25 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    lVar13 = 5;\n                    pbVar18 = local_58[0];\n                    pbVar19 = (byte *)".stab";\n                    do {\n                      if (lVar13 == 0) break;\n                      lVar13 = lVar13 + -1;\n                      bVar26 = *pbVar18 < *pbVar19;\n                      bVar24 = *pbVar18 == *pbVar19;\n                      pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                      pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      lVar13 = 4;\n                      pbVar18 = local_58[0];\n                      pbVar19 = &DAT_0053357f;\n                      do {\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0030fdc0:\n                    \n            iVar8 = FUN_00397c50(plVar23,uVar17,local_58,&local_78);\n            local_a8 = 0;\n            if (local_78 != '\0') {\n              local_a8 = iVar8 + *(int *)(puVar22 + 2);\n            }\n            iVar8 = 1;\n          }\n          else {\n            if (iVar8 == 1) goto LAB_0030fdc0;\n            if (iVar8 == 3) {\nLAB_0030ff50:\n              lVar13 = param_2[2];\n              if (puVar10 == (undefined8 *)0x0) {\n                    \n                uVar9 = FUN_0039dd50(lVar13,uVar21);\n                uVar11 = gettext(\n                                "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                );\n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9,uVar21);\n              }\n              else {\n                    \n                FUN_004443d0(&local_78,puVar10);\n                uVar9 = CONCAT71(uStack_77,local_78);\n                uVar11 = gettext(\n                                "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                );\n                    \n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9);\n                if ((undefined1 *)CONCAT71(uStack_77,local_78) != auStack_68) {\n                  FUN_0049e340();\n                }\n              }\n                    \n              iVar8 = FUN_0039d3c0(lVar13,uVar21,local_e0,&local_e1);\n              if (iVar8 != 0) {\n                    \n                lVar15 = FUN_00397ec0(lVar13,iVar8,&local_dc);\n                if (local_dc != 0) {\n                    \n                  uVar9 = FUN_0039dd50(lVar13);\n                  uVar11 = gettext("  section group signature: \"%s\"");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n                if (lVar15 != 0) {\n                  uVar9 = *(undefined8 *)(lVar15 + 8);\n                  uVar11 = gettext("  prevailing definition is from %s");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n              }\n              iVar8 = 3;\n            }\n            else {\nLAB_00310006:\n              iVar8 = 2;\n            }\n            local_a8 = 0;\n          }\n          if ((int)local_b8 != 0) {\n                    \n                    \n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\n          local_b8 = CONCAT44(local_b8._4_4_,0xffffffff);\n          if (local_58[0] != abStack_48) {\n            FUN_0049e340();\n          }\n          puVar22 = &local_b8;\n          if (-1 < (long)local_140) goto LAB_0030fae5;\nLAB_0030fe48:\n          uVar9 = gettext("reloc has bad offset %zu");\n                    \n          FUN_0034aed0(param_2,local_148,local_140,uVar9,local_140);\n        }\n        else {\n          if ((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))\n          goto LAB_0030fa33;\n          if (uVar21 < *(uint *)(plVar23 + 0x24)) {\nLAB_003107a0:\n                    \n                    \n            FUN_00352af0("../../gold/target-reloc.h",0x17f,"relocate_section");\n          }\n          uVar14 = (ulong)(uVar21 - *(uint *)(plVar23 + 0x24));\n          if ((ulong)(plVar23[0x27] - plVar23[0x26] >> 3) <= uVar14) {\n                    \n            FUN_00352af0("../../gold/object.h",0x8ad,"global_symbol");\n          }\n          puVar10 = *(undefined8 **)(plVar23[0x26] + uVar14 * 8);\n          if (puVar10 == (undefined8 *)0x0) goto LAB_003107a0;\n          if ((*(byte *)((long)puVar10 + 0x3a) & 0x10) == 0) goto LAB_0030fa33;\n                    \n          puVar10 = (undefined8 *)FUN_00443580(*param_2,puVar10);\n          iVar7 = *(int *)((long)puVar10 + 0x1c);\n          uVar17 = iVar7 - 1;\n          if (uVar17 < 0xfffffffe) {\n            if (((int)local_d8 != 0) && ((int)local_d8 != -2)) {\n                    \n                    \n              FUN_00352af0("../../gold/object.h",0x70c,"set_output_symtab_index");\n            }\n            goto LAB_0030fcf0;\n          }\n          if ((int)local_d8 != 0) {\n                    \n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\nLAB_0030fa42:\n          local_d8 = CONCAT44(local_d8._4_4_,0xffffffff);\nLAB_0030fa4a:\n          local_c8 = *(undefined4 *)(puVar10 + 8);\n          if ((*(byte *)(puVar10 + 7) & 0xf) == 6) {\n            local_d0 = local_d0 | 0x20000000;\n          }\n          else if ((*(byte *)(puVar10 + 7) & 0xf) == 10) {\n            local_d0 = local_d0 | 0x40000000;\n          }\n          if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') {\n            if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) {\nLAB_0030fd10:\n                puVar22 = &local_d8;\n                uVar17 = 0;\n                goto LAB_0030fd25;\n              }\n            }\n            else if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 4) goto LAB_0030fd10;\n          }\n          puVar22 = &local_d8;\nLAB_0030faa5:\n          local_b0 = 0x80000000;\n          local_b8 = 0xffffffff00000000;\n          local_a8 = 0;\n          if ((long)local_140 < 0) goto LAB_0030fe48;\nLAB_0030fae5:\n          if ((param_10 <= local_140) || (local_140 + param_8 == 0)) goto LAB_0030fe48;\n          uVar21 = local_120[1];\n          if (uVar21 >> 0x18 != 0) {\n            uVar9 = gettext("Invalid/unrecognized reloc reloc %d.");\n                    \n            FUN_0034a750(uVar9,uVar21 >> 0x18);\n                    \n            FUN_00352af0("../../gold/aarch64-reloc-property.h",0xeb,"code_to_array_index");\n          }\n          if (*DAT_0067dff8 == 0) {\n                    \n            FUN_0031d8d0(local_58,DAT_0067dff8,0);\n            pbVar18 = local_58[0];\n            uVar9 = gettext("cannot relocate %s in object file");\n            uVar21 = *local_120;\n                    \n            FUN_0034aed0(param_2,local_148,\n                         uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18,uVar9,pbVar18);\n            if (local_58[0] != abStack_48) {\n              FUN_0049e340();\n            }\n          }\n          else {\n            plVar3 = (long *)param_2[2];\n            local_90 = 0x80000000;\n            local_98 = 0xffffffff00000000;\n            local_88 = 0;\n            if (puVar10 == (undefined8 *)0x0) {\n              if ((*(byte *)((long)puVar22 + 0xb) & 0x40) != 0) {\n                uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n                    \n                cVar4 = FUN_00397bb0(plVar3,uVar21);\n                if (cVar4 != '\0') {\n                  lVar13 = *(long *)(param_1 + 0x28);\n                  if (lVar13 == 0) {\n                    \n                    FUN_002ed4a0();\n                    goto LAB_003108ca;\n                  }\n                  if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    \n                    \n                    FUN_00352af0("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar9 = *(undefined8 *)(lVar13 + 8);\n                  iVar7 = *(int *)(lVar13 + 0x68);\n                  local_88 = (**(code **)(*plVar3 + 0x150))(plVar3,uVar21);\n                  local_88 = (int)uVar9 + 0x20 + iVar7 * 0x10 + local_88;\n                }\n              }\n            }\n            else {\n                    \n              cVar4 = FUN_00228fa0(puVar10,*(undefined4 *)(*DAT_0067dff8 + 0x4c));\n              if (cVar4 != '\0') {\n                if (*(long *)(param_1 + 0x28) == 0) {\n                    \n                  FUN_002ed4a0();\n                  goto LAB_00310805;\n                }\n                local_88 = FUN_002f9c90(*(long *)(param_1 + 0x28),puVar10);\n              }\n            }\n            FUN_001a5bc0(&local_98);\n          }\n          if (puVar10 != (undefined8 *)0x0) {\n            bVar16 = *(byte *)((long)puVar10 + 0x3a);\n            bVar5 = bVar16 & 7;\n            if ((bVar16 & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) != 0) || ((*(byte *)((long)puVar10 + 0x3b) & 0x20) == 0)) {\n                if (*(code **)(*(long *)puVar10[2] + 0x28) != FUN_001a4aa0) {\n                  lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                  if (lVar13 != 0) {\n                    bVar16 = *(byte *)((long)puVar10 + 0x3a);\n                    bVar5 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar5 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)puVar10 + 0x3b)) goto LAB_00310305;\n                    bVar5 = *(byte *)((long)puVar10 + 0x39);\n                    if ((bVar5 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }\nLAB_0031015a:\n                bVar16 = bVar16 & 7;\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                if ((*(byte *)((long)puVar10 + 0x39) & 3) == 0) goto LAB_003101c0;\nLAB_00310166:\n                if (((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)\n                    ) && ((*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0)))) {\nLAB_00310293:\n                  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_003108ca:\n                    \n                    \n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') {\n                    if (bVar16 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)(puVar10[2] + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }\n                if (bVar5 == 2) {\n                  uVar9 = gettext("hidden");\n                }\n                else if (bVar5 < 3) {\n                  if (bVar5 != 1) {\n                    \n                    FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar9 = gettext("internal");\n                }\n                else {\n                  uVar9 = gettext("protected");\n                }\n                uVar11 = *puVar10;\n                uVar12 = gettext("%s symbol \'%s\' is not defined locally");\n                    \n                FUN_0034a750(uVar12,uVar9,uVar11);\n                goto LAB_003101c0;\n              }\nLAB_0031020c:\n              if ((*(byte *)(puVar10 + 7) >> 4 == 2) || ((*(byte *)((long)puVar10 + 0x3c) & 2) != 0)\n                 ) {\nLAB_00310438:\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_0031043f:\n                if (bVar5 == 0) goto LAB_003101c0;\n                bVar16 = *(byte *)((long)puVar10 + 0x3a) & 7;\n                if (bVar16 != 0) goto LAB_00310270;\n                goto LAB_00310166;\n              }\n              if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\n                    \n                    \n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') goto LAB_00310438;\n              if (*(char *)((long)puVar10 + 0x3b) < '\0') {\n                if (bVar5 != 0) goto LAB_00310260;\nLAB_003105b8:\n                if (*(code **)(*(long *)puVar10[2] + 0x28) == FUN_001a4aa0) goto LAB_0031015a;\n                    \n                lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                if (lVar13 == 0) goto LAB_00310438;\n              }\nLAB_00310305:\n              plVar3 = *(long **)(PTR_DAT_0067cb08 + 0x18);\n              if (plVar3 == (long *)0x0) {\nLAB_00310805:\n                    \n                    \n                FUN_00352af0("../../gold/parameters.h",0x69,"target");\n              }\n              if ((*(code **)(*plVar3 + 0x38) != FUN_001a49e0) &&\n                 (cVar4 = (**(code **)(*plVar3 + 0x38))(plVar3,puVar10), cVar4 != '\0'))\n              goto LAB_00310438;\n              lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar13 == 0) {\n                    \n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              pbVar18 = *(byte **)(lVar13 + 0x6c40);\n              bVar24 = false;\n              bVar26 = pbVar18 == (byte *)0x0;\n              if (bVar26) {\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_003103c9:\n                if ((bVar5 == 2) ||\n                   ((*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0'))))\n                goto LAB_003103e1;\n                goto LAB_0031043f;\n              }\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"ignore-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar24 = *pbVar19 < *pbVar20;\n                bVar26 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar26);\n              bVar25 = false;\n              bVar24 = (!bVar24 && !bVar26) == bVar24;\n              if (bVar24) goto LAB_00310438;\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"report-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar25 = *pbVar19 < *pbVar20;\n                bVar24 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar15 = 0x17;\n                pbVar19 = pbVar18;\n                pbVar20 = (byte *)"ignore-in-object-files";\n                do {\n                  if (lVar15 == 0) break;\n                  lVar15 = lVar15 + -1;\n                  bVar26 = *pbVar19 < *pbVar20;\n                  bVar24 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if ((!bVar24) || (bVar24 = (*(byte *)((long)puVar10 + 0x3b) & 1) == 0, !bVar24)) {\n                  bVar26 = false;\n                  lVar15 = 0x16;\n                  pbVar19 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    if (lVar15 == 0) break;\n                    lVar15 = lVar15 + -1;\n                    bVar26 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  if (((!bVar26 && !bVar24) != bVar26) || (*(char *)((long)puVar10 + 0x3a) < '\0'))\n                  goto LAB_003103c9;\n                }\n                goto LAB_0031043f;\n              }\nLAB_003103e1:\n              FUN_0034b9f0(puVar10,param_2,local_148,local_140);\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            else {\n              if (bVar5 == 4) goto LAB_0031020c;\nLAB_00310260:\n              bVar5 = *(byte *)((long)puVar10 + 0x39);\n              if ((bVar5 & 3) != 0) {\nLAB_0031026d:\n                bVar5 = bVar5 & 3;\n                bVar16 = bVar16 & 7;\nLAB_00310270:\n                if (((bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2)) &&\n                   (bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0)) goto LAB_00310293;\n              }\nLAB_003101c0:\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            if ((bVar16 & 4) != 0) {\n              FUN_00446c20(*param_2 + 0x1e0,puVar10,param_2,local_148,local_140);\n            }\n          }\n        }\n        local_138 = &local_d8;\n        FUN_001a5bc0(&local_b8);\n        FUN_001a5bc0(local_138);\n      }\n      local_148 = local_148 + 1;\n      local_120 = local_120 + 3;\n    } while (param_5 != local_148);\n  }" { (do_statement "do {\n      uVar21 = *local_120;\n      local_140 = (ulong)(uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18);\n      if ((param_7 == '\0') ||\n         (local_140 = FUN_003cff80(param_6,param_2[2],(int)param_2[6],local_140),\n         local_140 != 0xffffffffffffffff)) {\n        local_d0 = 0x80000000;\n        local_c8 = 0;\n        uVar21 = local_120[1];\n        local_d8 = 0xffffffff00000000;\n        uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n        if (uVar21 < local_ec) {\n          if ((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))\n          {\nLAB_0030fa33:\n            iVar7 = *(int *)((long)puVar10 + 0x1c);\n            uVar17 = iVar7 - 1;\n            if (0xfffffffd < uVar17) goto LAB_0030fa42;\nLAB_0030fcf0:\n            if (uVar17 == 0xfffffffd) {\n                    \n              FUN_00352af0("../../gold/object.h",0x70d,"set_output_symtab_index");\n            }\n            local_d8 = CONCAT44(local_d8._4_4_,iVar7);\n            goto LAB_0030fa4a;\n          }\n          if ((ulong)((plVar23[0x2d] - plVar23[0x2c] >> 3) * -0x5555555555555555) <= (ulong)uVar21)\n          {\n                    \n            FUN_00352af0("../../gold/object.h",0x8c1,"local_symbol");\n          }\n          puVar22 = (undefined8 *)(plVar23[0x2c] + (ulong)uVar21 * 0x18);\n          uVar1 = *(uint *)(puVar22 + 1);\n          uVar6 = uVar1 & 0x7ffffff;\n          uVar17 = uVar1 & 0x7ffffff;\n          if (((*(byte *)((long)puVar22 + 0xb) & 8) == 0) || (uVar6 == 0)) {\nLAB_0030fbb3:\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }\n          if ((ulong)(plVar23[0xb] - plVar23[10] >> 3) <= (ulong)uVar6) {\n                    \n                    \n            FUN_00352af0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(long *)(plVar23[10] + (ulong)uVar6 * 8) != 0) goto LAB_0030fbb3;\n          cVar4 = FUN_00443530(*param_2,plVar23,uVar1 & 0x7ffffff);\n          puVar10 = (undefined8 *)0x0;\n          if (cVar4 != '\0') {\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }\nLAB_0030fd25:\n          local_b0 = 0x80000000;\n          local_b8 = 0xffffffff00000000;\n          local_a8 = 0;\n          if (*(code **)(*plVar23 + 0x80) == FUN_0022c990) {\n                    \n            FUN_0022c800(local_58,plVar23 + 0x1f);\n          }\n          else {\n                    \n            (**(code **)(*plVar23 + 0x80))(local_58,plVar23,(int)param_2[6]);\n          }\n          bVar24 = false;\n          bVar26 = iVar8 == 0;\n          if (bVar26) {\n            lVar13 = 6;\n            pbVar18 = local_58[0];\n            pbVar19 = &DAT_00533552;\n            do {\n              if (lVar13 == 0) break;\n              lVar13 = lVar13 + -1;\n              bVar24 = *pbVar18 < *pbVar19;\n              bVar26 = *pbVar18 == *pbVar19;\n              pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n              pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n            } while (bVar26);\n            bVar25 = false;\n            bVar24 = (!bVar24 && !bVar26) == bVar24;\n            if (!bVar24) {\n              lVar13 = 7;\n              pbVar18 = local_58[0];\n              pbVar19 = (byte *)".zdebug";\n              do {\n                if (lVar13 == 0) break;\n                lVar13 = lVar13 + -1;\n                bVar25 = *pbVar18 < *pbVar19;\n                bVar24 = *pbVar18 == *pbVar19;\n                pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar13 = 0x11;\n                pbVar18 = local_58[0];\n                pbVar19 = (byte *)".gnu.linkonce.wi.";\n                do {\n                  if (lVar13 == 0) break;\n                  lVar13 = lVar13 + -1;\n                  bVar26 = *pbVar18 < *pbVar19;\n                  bVar24 = *pbVar18 == *pbVar19;\n                  pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  lVar13 = 5;\n                  pbVar18 = local_58[0];\n                  pbVar19 = (byte *)".line";\n                  do {\n                    if (lVar13 == 0) break;\n                    lVar13 = lVar13 + -1;\n                    bVar25 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    lVar13 = 5;\n                    pbVar18 = local_58[0];\n                    pbVar19 = (byte *)".stab";\n                    do {\n                      if (lVar13 == 0) break;\n                      lVar13 = lVar13 + -1;\n                      bVar26 = *pbVar18 < *pbVar19;\n                      bVar24 = *pbVar18 == *pbVar19;\n                      pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                      pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      lVar13 = 4;\n                      pbVar18 = local_58[0];\n                      pbVar19 = &DAT_0053357f;\n                      do {\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0030fdc0:\n                    \n            iVar8 = FUN_00397c50(plVar23,uVar17,local_58,&local_78);\n            local_a8 = 0;\n            if (local_78 != '\0') {\n              local_a8 = iVar8 + *(int *)(puVar22 + 2);\n            }\n            iVar8 = 1;\n          }\n          else {\n            if (iVar8 == 1) goto LAB_0030fdc0;\n            if (iVar8 == 3) {\nLAB_0030ff50:\n              lVar13 = param_2[2];\n              if (puVar10 == (undefined8 *)0x0) {\n                    \n                uVar9 = FUN_0039dd50(lVar13,uVar21);\n                uVar11 = gettext(\n                                "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                );\n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9,uVar21);\n              }\n              else {\n                    \n                FUN_004443d0(&local_78,puVar10);\n                uVar9 = CONCAT71(uStack_77,local_78);\n                uVar11 = gettext(\n                                "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                );\n                    \n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9);\n                if ((undefined1 *)CONCAT71(uStack_77,local_78) != auStack_68) {\n                  FUN_0049e340();\n                }\n              }\n                    \n              iVar8 = FUN_0039d3c0(lVar13,uVar21,local_e0,&local_e1);\n              if (iVar8 != 0) {\n                    \n                lVar15 = FUN_00397ec0(lVar13,iVar8,&local_dc);\n                if (local_dc != 0) {\n                    \n                  uVar9 = FUN_0039dd50(lVar13);\n                  uVar11 = gettext("  section group signature: \"%s\"");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n                if (lVar15 != 0) {\n                  uVar9 = *(undefined8 *)(lVar15 + 8);\n                  uVar11 = gettext("  prevailing definition is from %s");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n              }\n              iVar8 = 3;\n            }\n            else {\nLAB_00310006:\n              iVar8 = 2;\n            }\n            local_a8 = 0;\n          }\n          if ((int)local_b8 != 0) {\n                    \n                    \n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\n          local_b8 = CONCAT44(local_b8._4_4_,0xffffffff);\n          if (local_58[0] != abStack_48) {\n            FUN_0049e340();\n          }\n          puVar22 = &local_b8;\n          if (-1 < (long)local_140) goto LAB_0030fae5;\nLAB_0030fe48:\n          uVar9 = gettext("reloc has bad offset %zu");\n                    \n          FUN_0034aed0(param_2,local_148,local_140,uVar9,local_140);\n        }\n        else {\n          if ((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))\n          goto LAB_0030fa33;\n          if (uVar21 < *(uint *)(plVar23 + 0x24)) {\nLAB_003107a0:\n                    \n                    \n            FUN_00352af0("../../gold/target-reloc.h",0x17f,"relocate_section");\n          }\n          uVar14 = (ulong)(uVar21 - *(uint *)(plVar23 + 0x24));\n          if ((ulong)(plVar23[0x27] - plVar23[0x26] >> 3) <= uVar14) {\n                    \n            FUN_00352af0("../../gold/object.h",0x8ad,"global_symbol");\n          }\n          puVar10 = *(undefined8 **)(plVar23[0x26] + uVar14 * 8);\n          if (puVar10 == (undefined8 *)0x0) goto LAB_003107a0;\n          if ((*(byte *)((long)puVar10 + 0x3a) & 0x10) == 0) goto LAB_0030fa33;\n                    \n          puVar10 = (undefined8 *)FUN_00443580(*param_2,puVar10);\n          iVar7 = *(int *)((long)puVar10 + 0x1c);\n          uVar17 = iVar7 - 1;\n          if (uVar17 < 0xfffffffe) {\n            if (((int)local_d8 != 0) && ((int)local_d8 != -2)) {\n                    \n                    \n              FUN_00352af0("../../gold/object.h",0x70c,"set_output_symtab_index");\n            }\n            goto LAB_0030fcf0;\n          }\n          if ((int)local_d8 != 0) {\n                    \n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\nLAB_0030fa42:\n          local_d8 = CONCAT44(local_d8._4_4_,0xffffffff);\nLAB_0030fa4a:\n          local_c8 = *(undefined4 *)(puVar10 + 8);\n          if ((*(byte *)(puVar10 + 7) & 0xf) == 6) {\n            local_d0 = local_d0 | 0x20000000;\n          }\n          else if ((*(byte *)(puVar10 + 7) & 0xf) == 10) {\n            local_d0 = local_d0 | 0x40000000;\n          }\n          if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') {\n            if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) {\nLAB_0030fd10:\n                puVar22 = &local_d8;\n                uVar17 = 0;\n                goto LAB_0030fd25;\n              }\n            }\n            else if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 4) goto LAB_0030fd10;\n          }\n          puVar22 = &local_d8;\nLAB_0030faa5:\n          local_b0 = 0x80000000;\n          local_b8 = 0xffffffff00000000;\n          local_a8 = 0;\n          if ((long)local_140 < 0) goto LAB_0030fe48;\nLAB_0030fae5:\n          if ((param_10 <= local_140) || (local_140 + param_8 == 0)) goto LAB_0030fe48;\n          uVar21 = local_120[1];\n          if (uVar21 >> 0x18 != 0) {\n            uVar9 = gettext("Invalid/unrecognized reloc reloc %d.");\n                    \n            FUN_0034a750(uVar9,uVar21 >> 0x18);\n                    \n            FUN_00352af0("../../gold/aarch64-reloc-property.h",0xeb,"code_to_array_index");\n          }\n          if (*DAT_0067dff8 == 0) {\n                    \n            FUN_0031d8d0(local_58,DAT_0067dff8,0);\n            pbVar18 = local_58[0];\n            uVar9 = gettext("cannot relocate %s in object file");\n            uVar21 = *local_120;\n                    \n            FUN_0034aed0(param_2,local_148,\n                         uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18,uVar9,pbVar18);\n            if (local_58[0] != abStack_48) {\n              FUN_0049e340();\n            }\n          }\n          else {\n            plVar3 = (long *)param_2[2];\n            local_90 = 0x80000000;\n            local_98 = 0xffffffff00000000;\n            local_88 = 0;\n            if (puVar10 == (undefined8 *)0x0) {\n              if ((*(byte *)((long)puVar22 + 0xb) & 0x40) != 0) {\n                uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n                    \n                cVar4 = FUN_00397bb0(plVar3,uVar21);\n                if (cVar4 != '\0') {\n                  lVar13 = *(long *)(param_1 + 0x28);\n                  if (lVar13 == 0) {\n                    \n                    FUN_002ed4a0();\n                    goto LAB_003108ca;\n                  }\n                  if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    \n                    \n                    FUN_00352af0("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar9 = *(undefined8 *)(lVar13 + 8);\n                  iVar7 = *(int *)(lVar13 + 0x68);\n                  local_88 = (**(code **)(*plVar3 + 0x150))(plVar3,uVar21);\n                  local_88 = (int)uVar9 + 0x20 + iVar7 * 0x10 + local_88;\n                }\n              }\n            }\n            else {\n                    \n              cVar4 = FUN_00228fa0(puVar10,*(undefined4 *)(*DAT_0067dff8 + 0x4c));\n              if (cVar4 != '\0') {\n                if (*(long *)(param_1 + 0x28) == 0) {\n                    \n                  FUN_002ed4a0();\n                  goto LAB_00310805;\n                }\n                local_88 = FUN_002f9c90(*(long *)(param_1 + 0x28),puVar10);\n              }\n            }\n            FUN_001a5bc0(&local_98);\n          }\n          if (puVar10 != (undefined8 *)0x0) {\n            bVar16 = *(byte *)((long)puVar10 + 0x3a);\n            bVar5 = bVar16 & 7;\n            if ((bVar16 & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) != 0) || ((*(byte *)((long)puVar10 + 0x3b) & 0x20) == 0)) {\n                if (*(code **)(*(long *)puVar10[2] + 0x28) != FUN_001a4aa0) {\n                  lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                  if (lVar13 != 0) {\n                    bVar16 = *(byte *)((long)puVar10 + 0x3a);\n                    bVar5 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar5 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)puVar10 + 0x3b)) goto LAB_00310305;\n                    bVar5 = *(byte *)((long)puVar10 + 0x39);\n                    if ((bVar5 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }\nLAB_0031015a:\n                bVar16 = bVar16 & 7;\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                if ((*(byte *)((long)puVar10 + 0x39) & 3) == 0) goto LAB_003101c0;\nLAB_00310166:\n                if (((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)\n                    ) && ((*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0)))) {\nLAB_00310293:\n                  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_003108ca:\n                    \n                    \n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') {\n                    if (bVar16 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)(puVar10[2] + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }\n                if (bVar5 == 2) {\n                  uVar9 = gettext("hidden");\n                }\n                else if (bVar5 < 3) {\n                  if (bVar5 != 1) {\n                    \n                    FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar9 = gettext("internal");\n                }\n                else {\n                  uVar9 = gettext("protected");\n                }\n                uVar11 = *puVar10;\n                uVar12 = gettext("%s symbol \'%s\' is not defined locally");\n                    \n                FUN_0034a750(uVar12,uVar9,uVar11);\n                goto LAB_003101c0;\n              }\nLAB_0031020c:\n              if ((*(byte *)(puVar10 + 7) >> 4 == 2) || ((*(byte *)((long)puVar10 + 0x3c) & 2) != 0)\n                 ) {\nLAB_00310438:\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_0031043f:\n                if (bVar5 == 0) goto LAB_003101c0;\n                bVar16 = *(byte *)((long)puVar10 + 0x3a) & 7;\n                if (bVar16 != 0) goto LAB_00310270;\n                goto LAB_00310166;\n              }\n              if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\n                    \n                    \n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') goto LAB_00310438;\n              if (*(char *)((long)puVar10 + 0x3b) < '\0') {\n                if (bVar5 != 0) goto LAB_00310260;\nLAB_003105b8:\n                if (*(code **)(*(long *)puVar10[2] + 0x28) == FUN_001a4aa0) goto LAB_0031015a;\n                    \n                lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                if (lVar13 == 0) goto LAB_00310438;\n              }\nLAB_00310305:\n              plVar3 = *(long **)(PTR_DAT_0067cb08 + 0x18);\n              if (plVar3 == (long *)0x0) {\nLAB_00310805:\n                    \n                    \n                FUN_00352af0("../../gold/parameters.h",0x69,"target");\n              }\n              if ((*(code **)(*plVar3 + 0x38) != FUN_001a49e0) &&\n                 (cVar4 = (**(code **)(*plVar3 + 0x38))(plVar3,puVar10), cVar4 != '\0'))\n              goto LAB_00310438;\n              lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar13 == 0) {\n                    \n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              pbVar18 = *(byte **)(lVar13 + 0x6c40);\n              bVar24 = false;\n              bVar26 = pbVar18 == (byte *)0x0;\n              if (bVar26) {\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_003103c9:\n                if ((bVar5 == 2) ||\n                   ((*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0'))))\n                goto LAB_003103e1;\n                goto LAB_0031043f;\n              }\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"ignore-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar24 = *pbVar19 < *pbVar20;\n                bVar26 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar26);\n              bVar25 = false;\n              bVar24 = (!bVar24 && !bVar26) == bVar24;\n              if (bVar24) goto LAB_00310438;\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"report-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar25 = *pbVar19 < *pbVar20;\n                bVar24 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar15 = 0x17;\n                pbVar19 = pbVar18;\n                pbVar20 = (byte *)"ignore-in-object-files";\n                do {\n                  if (lVar15 == 0) break;\n                  lVar15 = lVar15 + -1;\n                  bVar26 = *pbVar19 < *pbVar20;\n                  bVar24 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if ((!bVar24) || (bVar24 = (*(byte *)((long)puVar10 + 0x3b) & 1) == 0, !bVar24)) {\n                  bVar26 = false;\n                  lVar15 = 0x16;\n                  pbVar19 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    if (lVar15 == 0) break;\n                    lVar15 = lVar15 + -1;\n                    bVar26 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  if (((!bVar26 && !bVar24) != bVar26) || (*(char *)((long)puVar10 + 0x3a) < '\0'))\n                  goto LAB_003103c9;\n                }\n                goto LAB_0031043f;\n              }\nLAB_003103e1:\n              FUN_0034b9f0(puVar10,param_2,local_148,local_140);\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            else {\n              if (bVar5 == 4) goto LAB_0031020c;\nLAB_00310260:\n              bVar5 = *(byte *)((long)puVar10 + 0x39);\n              if ((bVar5 & 3) != 0) {\nLAB_0031026d:\n                bVar5 = bVar5 & 3;\n                bVar16 = bVar16 & 7;\nLAB_00310270:\n                if (((bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2)) &&\n                   (bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0)) goto LAB_00310293;\n              }\nLAB_003101c0:\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            if ((bVar16 & 4) != 0) {\n              FUN_00446c20(*param_2 + 0x1e0,puVar10,param_2,local_148,local_140);\n            }\n          }\n        }\n        local_138 = &local_d8;\n        FUN_001a5bc0(&local_b8);\n        FUN_001a5bc0(local_138);\n      }\n      local_148 = local_148 + 1;\n      local_120 = local_120 + 3;\n    } while (param_5 != local_148);" do (compound_statement "{\n      uVar21 = *local_120;\n      local_140 = (ulong)(uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18);\n      if ((param_7 == '\0') ||\n         (local_140 = FUN_003cff80(param_6,param_2[2],(int)param_2[6],local_140),\n         local_140 != 0xffffffffffffffff)) {\n        local_d0 = 0x80000000;\n        local_c8 = 0;\n        uVar21 = local_120[1];\n        local_d8 = 0xffffffff00000000;\n        uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n        if (uVar21 < local_ec) {\n          if ((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))\n          {\nLAB_0030fa33:\n            iVar7 = *(int *)((long)puVar10 + 0x1c);\n            uVar17 = iVar7 - 1;\n            if (0xfffffffd < uVar17) goto LAB_0030fa42;\nLAB_0030fcf0:\n            if (uVar17 == 0xfffffffd) {\n                    \n              FUN_00352af0("../../gold/object.h",0x70d,"set_output_symtab_index");\n            }\n            local_d8 = CONCAT44(local_d8._4_4_,iVar7);\n            goto LAB_0030fa4a;\n          }\n          if ((ulong)((plVar23[0x2d] - plVar23[0x2c] >> 3) * -0x5555555555555555) <= (ulong)uVar21)\n          {\n                    \n            FUN_00352af0("../../gold/object.h",0x8c1,"local_symbol");\n          }\n          puVar22 = (undefined8 *)(plVar23[0x2c] + (ulong)uVar21 * 0x18);\n          uVar1 = *(uint *)(puVar22 + 1);\n          uVar6 = uVar1 & 0x7ffffff;\n          uVar17 = uVar1 & 0x7ffffff;\n          if (((*(byte *)((long)puVar22 + 0xb) & 8) == 0) || (uVar6 == 0)) {\nLAB_0030fbb3:\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }\n          if ((ulong)(plVar23[0xb] - plVar23[10] >> 3) <= (ulong)uVar6) {\n                    \n                    \n            FUN_00352af0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(long *)(plVar23[10] + (ulong)uVar6 * 8) != 0) goto LAB_0030fbb3;\n          cVar4 = FUN_00443530(*param_2,plVar23,uVar1 & 0x7ffffff);\n          puVar10 = (undefined8 *)0x0;\n          if (cVar4 != '\0') {\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }\nLAB_0030fd25:\n          local_b0 = 0x80000000;\n          local_b8 = 0xffffffff00000000;\n          local_a8 = 0;\n          if (*(code **)(*plVar23 + 0x80) == FUN_0022c990) {\n                    \n            FUN_0022c800(local_58,plVar23 + 0x1f);\n          }\n          else {\n                    \n            (**(code **)(*plVar23 + 0x80))(local_58,plVar23,(int)param_2[6]);\n          }\n          bVar24 = false;\n          bVar26 = iVar8 == 0;\n          if (bVar26) {\n            lVar13 = 6;\n            pbVar18 = local_58[0];\n            pbVar19 = &DAT_00533552;\n            do {\n              if (lVar13 == 0) break;\n              lVar13 = lVar13 + -1;\n              bVar24 = *pbVar18 < *pbVar19;\n              bVar26 = *pbVar18 == *pbVar19;\n              pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n              pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n            } while (bVar26);\n            bVar25 = false;\n            bVar24 = (!bVar24 && !bVar26) == bVar24;\n            if (!bVar24) {\n              lVar13 = 7;\n              pbVar18 = local_58[0];\n              pbVar19 = (byte *)".zdebug";\n              do {\n                if (lVar13 == 0) break;\n                lVar13 = lVar13 + -1;\n                bVar25 = *pbVar18 < *pbVar19;\n                bVar24 = *pbVar18 == *pbVar19;\n                pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar13 = 0x11;\n                pbVar18 = local_58[0];\n                pbVar19 = (byte *)".gnu.linkonce.wi.";\n                do {\n                  if (lVar13 == 0) break;\n                  lVar13 = lVar13 + -1;\n                  bVar26 = *pbVar18 < *pbVar19;\n                  bVar24 = *pbVar18 == *pbVar19;\n                  pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  lVar13 = 5;\n                  pbVar18 = local_58[0];\n                  pbVar19 = (byte *)".line";\n                  do {\n                    if (lVar13 == 0) break;\n                    lVar13 = lVar13 + -1;\n                    bVar25 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    lVar13 = 5;\n                    pbVar18 = local_58[0];\n                    pbVar19 = (byte *)".stab";\n                    do {\n                      if (lVar13 == 0) break;\n                      lVar13 = lVar13 + -1;\n                      bVar26 = *pbVar18 < *pbVar19;\n                      bVar24 = *pbVar18 == *pbVar19;\n                      pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                      pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      lVar13 = 4;\n                      pbVar18 = local_58[0];\n                      pbVar19 = &DAT_0053357f;\n                      do {\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0030fdc0:\n                    \n            iVar8 = FUN_00397c50(plVar23,uVar17,local_58,&local_78);\n            local_a8 = 0;\n            if (local_78 != '\0') {\n              local_a8 = iVar8 + *(int *)(puVar22 + 2);\n            }\n            iVar8 = 1;\n          }\n          else {\n            if (iVar8 == 1) goto LAB_0030fdc0;\n            if (iVar8 == 3) {\nLAB_0030ff50:\n              lVar13 = param_2[2];\n              if (puVar10 == (undefined8 *)0x0) {\n                    \n                uVar9 = FUN_0039dd50(lVar13,uVar21);\n                uVar11 = gettext(\n                                "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                );\n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9,uVar21);\n              }\n              else {\n                    \n                FUN_004443d0(&local_78,puVar10);\n                uVar9 = CONCAT71(uStack_77,local_78);\n                uVar11 = gettext(\n                                "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                );\n                    \n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9);\n                if ((undefined1 *)CONCAT71(uStack_77,local_78) != auStack_68) {\n                  FUN_0049e340();\n                }\n              }\n                    \n              iVar8 = FUN_0039d3c0(lVar13,uVar21,local_e0,&local_e1);\n              if (iVar8 != 0) {\n                    \n                lVar15 = FUN_00397ec0(lVar13,iVar8,&local_dc);\n                if (local_dc != 0) {\n                    \n                  uVar9 = FUN_0039dd50(lVar13);\n                  uVar11 = gettext("  section group signature: \"%s\"");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n                if (lVar15 != 0) {\n                  uVar9 = *(undefined8 *)(lVar15 + 8);\n                  uVar11 = gettext("  prevailing definition is from %s");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n              }\n              iVar8 = 3;\n            }\n            else {\nLAB_00310006:\n              iVar8 = 2;\n            }\n            local_a8 = 0;\n          }\n          if ((int)local_b8 != 0) {\n                    \n                    \n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\n          local_b8 = CONCAT44(local_b8._4_4_,0xffffffff);\n          if (local_58[0] != abStack_48) {\n            FUN_0049e340();\n          }\n          puVar22 = &local_b8;\n          if (-1 < (long)local_140) goto LAB_0030fae5;\nLAB_0030fe48:\n          uVar9 = gettext("reloc has bad offset %zu");\n                    \n          FUN_0034aed0(param_2,local_148,local_140,uVar9,local_140);\n        }\n        else {\n          if ((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))\n          goto LAB_0030fa33;\n          if (uVar21 < *(uint *)(plVar23 + 0x24)) {\nLAB_003107a0:\n                    \n                    \n            FUN_00352af0("../../gold/target-reloc.h",0x17f,"relocate_section");\n          }\n          uVar14 = (ulong)(uVar21 - *(uint *)(plVar23 + 0x24));\n          if ((ulong)(plVar23[0x27] - plVar23[0x26] >> 3) <= uVar14) {\n                    \n            FUN_00352af0("../../gold/object.h",0x8ad,"global_symbol");\n          }\n          puVar10 = *(undefined8 **)(plVar23[0x26] + uVar14 * 8);\n          if (puVar10 == (undefined8 *)0x0) goto LAB_003107a0;\n          if ((*(byte *)((long)puVar10 + 0x3a) & 0x10) == 0) goto LAB_0030fa33;\n                    \n          puVar10 = (undefined8 *)FUN_00443580(*param_2,puVar10);\n          iVar7 = *(int *)((long)puVar10 + 0x1c);\n          uVar17 = iVar7 - 1;\n          if (uVar17 < 0xfffffffe) {\n            if (((int)local_d8 != 0) && ((int)local_d8 != -2)) {\n                    \n                    \n              FUN_00352af0("../../gold/object.h",0x70c,"set_output_symtab_index");\n            }\n            goto LAB_0030fcf0;\n          }\n          if ((int)local_d8 != 0) {\n                    \n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\nLAB_0030fa42:\n          local_d8 = CONCAT44(local_d8._4_4_,0xffffffff);\nLAB_0030fa4a:\n          local_c8 = *(undefined4 *)(puVar10 + 8);\n          if ((*(byte *)(puVar10 + 7) & 0xf) == 6) {\n            local_d0 = local_d0 | 0x20000000;\n          }\n          else if ((*(byte *)(puVar10 + 7) & 0xf) == 10) {\n            local_d0 = local_d0 | 0x40000000;\n          }\n          if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') {\n            if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) {\nLAB_0030fd10:\n                puVar22 = &local_d8;\n                uVar17 = 0;\n                goto LAB_0030fd25;\n              }\n            }\n            else if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 4) goto LAB_0030fd10;\n          }\n          puVar22 = &local_d8;\nLAB_0030faa5:\n          local_b0 = 0x80000000;\n          local_b8 = 0xffffffff00000000;\n          local_a8 = 0;\n          if ((long)local_140 < 0) goto LAB_0030fe48;\nLAB_0030fae5:\n          if ((param_10 <= local_140) || (local_140 + param_8 == 0)) goto LAB_0030fe48;\n          uVar21 = local_120[1];\n          if (uVar21 >> 0x18 != 0) {\n            uVar9 = gettext("Invalid/unrecognized reloc reloc %d.");\n                    \n            FUN_0034a750(uVar9,uVar21 >> 0x18);\n                    \n            FUN_00352af0("../../gold/aarch64-reloc-property.h",0xeb,"code_to_array_index");\n          }\n          if (*DAT_0067dff8 == 0) {\n                    \n            FUN_0031d8d0(local_58,DAT_0067dff8,0);\n            pbVar18 = local_58[0];\n            uVar9 = gettext("cannot relocate %s in object file");\n            uVar21 = *local_120;\n                    \n            FUN_0034aed0(param_2,local_148,\n                         uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18,uVar9,pbVar18);\n            if (local_58[0] != abStack_48) {\n              FUN_0049e340();\n            }\n          }\n          else {\n            plVar3 = (long *)param_2[2];\n            local_90 = 0x80000000;\n            local_98 = 0xffffffff00000000;\n            local_88 = 0;\n            if (puVar10 == (undefined8 *)0x0) {\n              if ((*(byte *)((long)puVar22 + 0xb) & 0x40) != 0) {\n                uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n                    \n                cVar4 = FUN_00397bb0(plVar3,uVar21);\n                if (cVar4 != '\0') {\n                  lVar13 = *(long *)(param_1 + 0x28);\n                  if (lVar13 == 0) {\n                    \n                    FUN_002ed4a0();\n                    goto LAB_003108ca;\n                  }\n                  if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    \n                    \n                    FUN_00352af0("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar9 = *(undefined8 *)(lVar13 + 8);\n                  iVar7 = *(int *)(lVar13 + 0x68);\n                  local_88 = (**(code **)(*plVar3 + 0x150))(plVar3,uVar21);\n                  local_88 = (int)uVar9 + 0x20 + iVar7 * 0x10 + local_88;\n                }\n              }\n            }\n            else {\n                    \n              cVar4 = FUN_00228fa0(puVar10,*(undefined4 *)(*DAT_0067dff8 + 0x4c));\n              if (cVar4 != '\0') {\n                if (*(long *)(param_1 + 0x28) == 0) {\n                    \n                  FUN_002ed4a0();\n                  goto LAB_00310805;\n                }\n                local_88 = FUN_002f9c90(*(long *)(param_1 + 0x28),puVar10);\n              }\n            }\n            FUN_001a5bc0(&local_98);\n          }\n          if (puVar10 != (undefined8 *)0x0) {\n            bVar16 = *(byte *)((long)puVar10 + 0x3a);\n            bVar5 = bVar16 & 7;\n            if ((bVar16 & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) != 0) || ((*(byte *)((long)puVar10 + 0x3b) & 0x20) == 0)) {\n                if (*(code **)(*(long *)puVar10[2] + 0x28) != FUN_001a4aa0) {\n                  lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                  if (lVar13 != 0) {\n                    bVar16 = *(byte *)((long)puVar10 + 0x3a);\n                    bVar5 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar5 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)puVar10 + 0x3b)) goto LAB_00310305;\n                    bVar5 = *(byte *)((long)puVar10 + 0x39);\n                    if ((bVar5 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }\nLAB_0031015a:\n                bVar16 = bVar16 & 7;\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                if ((*(byte *)((long)puVar10 + 0x39) & 3) == 0) goto LAB_003101c0;\nLAB_00310166:\n                if (((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)\n                    ) && ((*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0)))) {\nLAB_00310293:\n                  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_003108ca:\n                    \n                    \n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') {\n                    if (bVar16 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)(puVar10[2] + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }\n                if (bVar5 == 2) {\n                  uVar9 = gettext("hidden");\n                }\n                else if (bVar5 < 3) {\n                  if (bVar5 != 1) {\n                    \n                    FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar9 = gettext("internal");\n                }\n                else {\n                  uVar9 = gettext("protected");\n                }\n                uVar11 = *puVar10;\n                uVar12 = gettext("%s symbol \'%s\' is not defined locally");\n                    \n                FUN_0034a750(uVar12,uVar9,uVar11);\n                goto LAB_003101c0;\n              }\nLAB_0031020c:\n              if ((*(byte *)(puVar10 + 7) >> 4 == 2) || ((*(byte *)((long)puVar10 + 0x3c) & 2) != 0)\n                 ) {\nLAB_00310438:\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_0031043f:\n                if (bVar5 == 0) goto LAB_003101c0;\n                bVar16 = *(byte *)((long)puVar10 + 0x3a) & 7;\n                if (bVar16 != 0) goto LAB_00310270;\n                goto LAB_00310166;\n              }\n              if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\n                    \n                    \n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') goto LAB_00310438;\n              if (*(char *)((long)puVar10 + 0x3b) < '\0') {\n                if (bVar5 != 0) goto LAB_00310260;\nLAB_003105b8:\n                if (*(code **)(*(long *)puVar10[2] + 0x28) == FUN_001a4aa0) goto LAB_0031015a;\n                    \n                lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                if (lVar13 == 0) goto LAB_00310438;\n              }\nLAB_00310305:\n              plVar3 = *(long **)(PTR_DAT_0067cb08 + 0x18);\n              if (plVar3 == (long *)0x0) {\nLAB_00310805:\n                    \n                    \n                FUN_00352af0("../../gold/parameters.h",0x69,"target");\n              }\n              if ((*(code **)(*plVar3 + 0x38) != FUN_001a49e0) &&\n                 (cVar4 = (**(code **)(*plVar3 + 0x38))(plVar3,puVar10), cVar4 != '\0'))\n              goto LAB_00310438;\n              lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar13 == 0) {\n                    \n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              pbVar18 = *(byte **)(lVar13 + 0x6c40);\n              bVar24 = false;\n              bVar26 = pbVar18 == (byte *)0x0;\n              if (bVar26) {\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_003103c9:\n                if ((bVar5 == 2) ||\n                   ((*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0'))))\n                goto LAB_003103e1;\n                goto LAB_0031043f;\n              }\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"ignore-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar24 = *pbVar19 < *pbVar20;\n                bVar26 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar26);\n              bVar25 = false;\n              bVar24 = (!bVar24 && !bVar26) == bVar24;\n              if (bVar24) goto LAB_00310438;\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"report-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar25 = *pbVar19 < *pbVar20;\n                bVar24 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar15 = 0x17;\n                pbVar19 = pbVar18;\n                pbVar20 = (byte *)"ignore-in-object-files";\n                do {\n                  if (lVar15 == 0) break;\n                  lVar15 = lVar15 + -1;\n                  bVar26 = *pbVar19 < *pbVar20;\n                  bVar24 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if ((!bVar24) || (bVar24 = (*(byte *)((long)puVar10 + 0x3b) & 1) == 0, !bVar24)) {\n                  bVar26 = false;\n                  lVar15 = 0x16;\n                  pbVar19 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    if (lVar15 == 0) break;\n                    lVar15 = lVar15 + -1;\n                    bVar26 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  if (((!bVar26 && !bVar24) != bVar26) || (*(char *)((long)puVar10 + 0x3a) < '\0'))\n                  goto LAB_003103c9;\n                }\n                goto LAB_0031043f;\n              }\nLAB_003103e1:\n              FUN_0034b9f0(puVar10,param_2,local_148,local_140);\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            else {\n              if (bVar5 == 4) goto LAB_0031020c;\nLAB_00310260:\n              bVar5 = *(byte *)((long)puVar10 + 0x39);\n              if ((bVar5 & 3) != 0) {\nLAB_0031026d:\n                bVar5 = bVar5 & 3;\n                bVar16 = bVar16 & 7;\nLAB_00310270:\n                if (((bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2)) &&\n                   (bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0)) goto LAB_00310293;\n              }\nLAB_003101c0:\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            if ((bVar16 & 4) != 0) {\n              FUN_00446c20(*param_2 + 0x1e0,puVar10,param_2,local_148,local_140);\n            }\n          }\n        }\n        local_138 = &local_d8;\n        FUN_001a5bc0(&local_b8);\n        FUN_001a5bc0(local_138);\n      }\n      local_148 = local_148 + 1;\n      local_120 = local_120 + 3;\n    }" { (expression_statement "uVar21 = *local_120;" (assignment_expression "uVar21 = *local_120" identifier = (pointer_expression "*local_120" * identifier)) ;) (expression_statement "local_140 = (ulong)(uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18);" (assignment_expression "local_140 = (ulong)(uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18)" identifier = (call_expression "(ulong)(uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18)" ( (binary_expression "uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18" (binary_expression "uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8" (binary_expression "uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8" (binary_expression "uVar21 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar21 & 0xff0000) >> 8" (parenthesized_expression "(uVar21 & 0xff0000)" ( (binary_expression "uVar21 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar21 & 0xff00) << 8" (parenthesized_expression "(uVar21 & 0xff00)" ( (binary_expression "uVar21 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar21 << 0x18" identifier << number_literal)) )))) ;) (if_statement "if ((param_7 == '\0') ||\n         (local_140 = FUN_003cff80(param_6,param_2[2],(int)param_2[6],local_140),\n         local_140 != 0xffffffffffffffff)) {\n        local_d0 = 0x80000000;\n        local_c8 = 0;\n        uVar21 = local_120[1];\n        local_d8 = 0xffffffff00000000;\n        uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n        if (uVar21 < local_ec) {\n          if ((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))\n          {\nLAB_0030fa33:\n            iVar7 = *(int *)((long)puVar10 + 0x1c);\n            uVar17 = iVar7 - 1;\n            if (0xfffffffd < uVar17) goto LAB_0030fa42;\nLAB_0030fcf0:\n            if (uVar17 == 0xfffffffd) {\n                    \n              FUN_00352af0("../../gold/object.h",0x70d,"set_output_symtab_index");\n            }\n            local_d8 = CONCAT44(local_d8._4_4_,iVar7);\n            goto LAB_0030fa4a;\n          }\n          if ((ulong)((plVar23[0x2d] - plVar23[0x2c] >> 3) * -0x5555555555555555) <= (ulong)uVar21)\n          {\n                    \n            FUN_00352af0("../../gold/object.h",0x8c1,"local_symbol");\n          }\n          puVar22 = (undefined8 *)(plVar23[0x2c] + (ulong)uVar21 * 0x18);\n          uVar1 = *(uint *)(puVar22 + 1);\n          uVar6 = uVar1 & 0x7ffffff;\n          uVar17 = uVar1 & 0x7ffffff;\n          if (((*(byte *)((long)puVar22 + 0xb) & 8) == 0) || (uVar6 == 0)) {\nLAB_0030fbb3:\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }\n          if ((ulong)(plVar23[0xb] - plVar23[10] >> 3) <= (ulong)uVar6) {\n                    \n                    \n            FUN_00352af0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(long *)(plVar23[10] + (ulong)uVar6 * 8) != 0) goto LAB_0030fbb3;\n          cVar4 = FUN_00443530(*param_2,plVar23,uVar1 & 0x7ffffff);\n          puVar10 = (undefined8 *)0x0;\n          if (cVar4 != '\0') {\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }\nLAB_0030fd25:\n          local_b0 = 0x80000000;\n          local_b8 = 0xffffffff00000000;\n          local_a8 = 0;\n          if (*(code **)(*plVar23 + 0x80) == FUN_0022c990) {\n                    \n            FUN_0022c800(local_58,plVar23 + 0x1f);\n          }\n          else {\n                    \n            (**(code **)(*plVar23 + 0x80))(local_58,plVar23,(int)param_2[6]);\n          }\n          bVar24 = false;\n          bVar26 = iVar8 == 0;\n          if (bVar26) {\n            lVar13 = 6;\n            pbVar18 = local_58[0];\n            pbVar19 = &DAT_00533552;\n            do {\n              if (lVar13 == 0) break;\n              lVar13 = lVar13 + -1;\n              bVar24 = *pbVar18 < *pbVar19;\n              bVar26 = *pbVar18 == *pbVar19;\n              pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n              pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n            } while (bVar26);\n            bVar25 = false;\n            bVar24 = (!bVar24 && !bVar26) == bVar24;\n            if (!bVar24) {\n              lVar13 = 7;\n              pbVar18 = local_58[0];\n              pbVar19 = (byte *)".zdebug";\n              do {\n                if (lVar13 == 0) break;\n                lVar13 = lVar13 + -1;\n                bVar25 = *pbVar18 < *pbVar19;\n                bVar24 = *pbVar18 == *pbVar19;\n                pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar13 = 0x11;\n                pbVar18 = local_58[0];\n                pbVar19 = (byte *)".gnu.linkonce.wi.";\n                do {\n                  if (lVar13 == 0) break;\n                  lVar13 = lVar13 + -1;\n                  bVar26 = *pbVar18 < *pbVar19;\n                  bVar24 = *pbVar18 == *pbVar19;\n                  pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  lVar13 = 5;\n                  pbVar18 = local_58[0];\n                  pbVar19 = (byte *)".line";\n                  do {\n                    if (lVar13 == 0) break;\n                    lVar13 = lVar13 + -1;\n                    bVar25 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    lVar13 = 5;\n                    pbVar18 = local_58[0];\n                    pbVar19 = (byte *)".stab";\n                    do {\n                      if (lVar13 == 0) break;\n                      lVar13 = lVar13 + -1;\n                      bVar26 = *pbVar18 < *pbVar19;\n                      bVar24 = *pbVar18 == *pbVar19;\n                      pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                      pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      lVar13 = 4;\n                      pbVar18 = local_58[0];\n                      pbVar19 = &DAT_0053357f;\n                      do {\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0030fdc0:\n                    \n            iVar8 = FUN_00397c50(plVar23,uVar17,local_58,&local_78);\n            local_a8 = 0;\n            if (local_78 != '\0') {\n              local_a8 = iVar8 + *(int *)(puVar22 + 2);\n            }\n            iVar8 = 1;\n          }\n          else {\n            if (iVar8 == 1) goto LAB_0030fdc0;\n            if (iVar8 == 3) {\nLAB_0030ff50:\n              lVar13 = param_2[2];\n              if (puVar10 == (undefined8 *)0x0) {\n                    \n                uVar9 = FUN_0039dd50(lVar13,uVar21);\n                uVar11 = gettext(\n                                "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                );\n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9,uVar21);\n              }\n              else {\n                    \n                FUN_004443d0(&local_78,puVar10);\n                uVar9 = CONCAT71(uStack_77,local_78);\n                uVar11 = gettext(\n                                "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                );\n                    \n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9);\n                if ((undefined1 *)CONCAT71(uStack_77,local_78) != auStack_68) {\n                  FUN_0049e340();\n                }\n              }\n                    \n              iVar8 = FUN_0039d3c0(lVar13,uVar21,local_e0,&local_e1);\n              if (iVar8 != 0) {\n                    \n                lVar15 = FUN_00397ec0(lVar13,iVar8,&local_dc);\n                if (local_dc != 0) {\n                    \n                  uVar9 = FUN_0039dd50(lVar13);\n                  uVar11 = gettext("  section group signature: \"%s\"");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n                if (lVar15 != 0) {\n                  uVar9 = *(undefined8 *)(lVar15 + 8);\n                  uVar11 = gettext("  prevailing definition is from %s");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n              }\n              iVar8 = 3;\n            }\n            else {\nLAB_00310006:\n              iVar8 = 2;\n            }\n            local_a8 = 0;\n          }\n          if ((int)local_b8 != 0) {\n                    \n                    \n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\n          local_b8 = CONCAT44(local_b8._4_4_,0xffffffff);\n          if (local_58[0] != abStack_48) {\n            FUN_0049e340();\n          }\n          puVar22 = &local_b8;\n          if (-1 < (long)local_140) goto LAB_0030fae5;\nLAB_0030fe48:\n          uVar9 = gettext("reloc has bad offset %zu");\n                    \n          FUN_0034aed0(param_2,local_148,local_140,uVar9,local_140);\n        }\n        else {\n          if ((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))\n          goto LAB_0030fa33;\n          if (uVar21 < *(uint *)(plVar23 + 0x24)) {\nLAB_003107a0:\n                    \n                    \n            FUN_00352af0("../../gold/target-reloc.h",0x17f,"relocate_section");\n          }\n          uVar14 = (ulong)(uVar21 - *(uint *)(plVar23 + 0x24));\n          if ((ulong)(plVar23[0x27] - plVar23[0x26] >> 3) <= uVar14) {\n                    \n            FUN_00352af0("../../gold/object.h",0x8ad,"global_symbol");\n          }\n          puVar10 = *(undefined8 **)(plVar23[0x26] + uVar14 * 8);\n          if (puVar10 == (undefined8 *)0x0) goto LAB_003107a0;\n          if ((*(byte *)((long)puVar10 + 0x3a) & 0x10) == 0) goto LAB_0030fa33;\n                    \n          puVar10 = (undefined8 *)FUN_00443580(*param_2,puVar10);\n          iVar7 = *(int *)((long)puVar10 + 0x1c);\n          uVar17 = iVar7 - 1;\n          if (uVar17 < 0xfffffffe) {\n            if (((int)local_d8 != 0) && ((int)local_d8 != -2)) {\n                    \n                    \n              FUN_00352af0("../../gold/object.h",0x70c,"set_output_symtab_index");\n            }\n            goto LAB_0030fcf0;\n          }\n          if ((int)local_d8 != 0) {\n                    \n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\nLAB_0030fa42:\n          local_d8 = CONCAT44(local_d8._4_4_,0xffffffff);\nLAB_0030fa4a:\n          local_c8 = *(undefined4 *)(puVar10 + 8);\n          if ((*(byte *)(puVar10 + 7) & 0xf) == 6) {\n            local_d0 = local_d0 | 0x20000000;\n          }\n          else if ((*(byte *)(puVar10 + 7) & 0xf) == 10) {\n            local_d0 = local_d0 | 0x40000000;\n          }\n          if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') {\n            if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) {\nLAB_0030fd10:\n                puVar22 = &local_d8;\n                uVar17 = 0;\n                goto LAB_0030fd25;\n              }\n            }\n            else if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 4) goto LAB_0030fd10;\n          }\n          puVar22 = &local_d8;\nLAB_0030faa5:\n          local_b0 = 0x80000000;\n          local_b8 = 0xffffffff00000000;\n          local_a8 = 0;\n          if ((long)local_140 < 0) goto LAB_0030fe48;\nLAB_0030fae5:\n          if ((param_10 <= local_140) || (local_140 + param_8 == 0)) goto LAB_0030fe48;\n          uVar21 = local_120[1];\n          if (uVar21 >> 0x18 != 0) {\n            uVar9 = gettext("Invalid/unrecognized reloc reloc %d.");\n                    \n            FUN_0034a750(uVar9,uVar21 >> 0x18);\n                    \n            FUN_00352af0("../../gold/aarch64-reloc-property.h",0xeb,"code_to_array_index");\n          }\n          if (*DAT_0067dff8 == 0) {\n                    \n            FUN_0031d8d0(local_58,DAT_0067dff8,0);\n            pbVar18 = local_58[0];\n            uVar9 = gettext("cannot relocate %s in object file");\n            uVar21 = *local_120;\n                    \n            FUN_0034aed0(param_2,local_148,\n                         uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18,uVar9,pbVar18);\n            if (local_58[0] != abStack_48) {\n              FUN_0049e340();\n            }\n          }\n          else {\n            plVar3 = (long *)param_2[2];\n            local_90 = 0x80000000;\n            local_98 = 0xffffffff00000000;\n            local_88 = 0;\n            if (puVar10 == (undefined8 *)0x0) {\n              if ((*(byte *)((long)puVar22 + 0xb) & 0x40) != 0) {\n                uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n                    \n                cVar4 = FUN_00397bb0(plVar3,uVar21);\n                if (cVar4 != '\0') {\n                  lVar13 = *(long *)(param_1 + 0x28);\n                  if (lVar13 == 0) {\n                    \n                    FUN_002ed4a0();\n                    goto LAB_003108ca;\n                  }\n                  if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    \n                    \n                    FUN_00352af0("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar9 = *(undefined8 *)(lVar13 + 8);\n                  iVar7 = *(int *)(lVar13 + 0x68);\n                  local_88 = (**(code **)(*plVar3 + 0x150))(plVar3,uVar21);\n                  local_88 = (int)uVar9 + 0x20 + iVar7 * 0x10 + local_88;\n                }\n              }\n            }\n            else {\n                    \n              cVar4 = FUN_00228fa0(puVar10,*(undefined4 *)(*DAT_0067dff8 + 0x4c));\n              if (cVar4 != '\0') {\n                if (*(long *)(param_1 + 0x28) == 0) {\n                    \n                  FUN_002ed4a0();\n                  goto LAB_00310805;\n                }\n                local_88 = FUN_002f9c90(*(long *)(param_1 + 0x28),puVar10);\n              }\n            }\n            FUN_001a5bc0(&local_98);\n          }\n          if (puVar10 != (undefined8 *)0x0) {\n            bVar16 = *(byte *)((long)puVar10 + 0x3a);\n            bVar5 = bVar16 & 7;\n            if ((bVar16 & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) != 0) || ((*(byte *)((long)puVar10 + 0x3b) & 0x20) == 0)) {\n                if (*(code **)(*(long *)puVar10[2] + 0x28) != FUN_001a4aa0) {\n                  lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                  if (lVar13 != 0) {\n                    bVar16 = *(byte *)((long)puVar10 + 0x3a);\n                    bVar5 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar5 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)puVar10 + 0x3b)) goto LAB_00310305;\n                    bVar5 = *(byte *)((long)puVar10 + 0x39);\n                    if ((bVar5 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }\nLAB_0031015a:\n                bVar16 = bVar16 & 7;\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                if ((*(byte *)((long)puVar10 + 0x39) & 3) == 0) goto LAB_003101c0;\nLAB_00310166:\n                if (((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)\n                    ) && ((*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0)))) {\nLAB_00310293:\n                  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_003108ca:\n                    \n                    \n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') {\n                    if (bVar16 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)(puVar10[2] + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }\n                if (bVar5 == 2) {\n                  uVar9 = gettext("hidden");\n                }\n                else if (bVar5 < 3) {\n                  if (bVar5 != 1) {\n                    \n                    FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar9 = gettext("internal");\n                }\n                else {\n                  uVar9 = gettext("protected");\n                }\n                uVar11 = *puVar10;\n                uVar12 = gettext("%s symbol \'%s\' is not defined locally");\n                    \n                FUN_0034a750(uVar12,uVar9,uVar11);\n                goto LAB_003101c0;\n              }\nLAB_0031020c:\n              if ((*(byte *)(puVar10 + 7) >> 4 == 2) || ((*(byte *)((long)puVar10 + 0x3c) & 2) != 0)\n                 ) {\nLAB_00310438:\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_0031043f:\n                if (bVar5 == 0) goto LAB_003101c0;\n                bVar16 = *(byte *)((long)puVar10 + 0x3a) & 7;\n                if (bVar16 != 0) goto LAB_00310270;\n                goto LAB_00310166;\n              }\n              if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\n                    \n                    \n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') goto LAB_00310438;\n              if (*(char *)((long)puVar10 + 0x3b) < '\0') {\n                if (bVar5 != 0) goto LAB_00310260;\nLAB_003105b8:\n                if (*(code **)(*(long *)puVar10[2] + 0x28) == FUN_001a4aa0) goto LAB_0031015a;\n                    \n                lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                if (lVar13 == 0) goto LAB_00310438;\n              }\nLAB_00310305:\n              plVar3 = *(long **)(PTR_DAT_0067cb08 + 0x18);\n              if (plVar3 == (long *)0x0) {\nLAB_00310805:\n                    \n                    \n                FUN_00352af0("../../gold/parameters.h",0x69,"target");\n              }\n              if ((*(code **)(*plVar3 + 0x38) != FUN_001a49e0) &&\n                 (cVar4 = (**(code **)(*plVar3 + 0x38))(plVar3,puVar10), cVar4 != '\0'))\n              goto LAB_00310438;\n              lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar13 == 0) {\n                    \n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              pbVar18 = *(byte **)(lVar13 + 0x6c40);\n              bVar24 = false;\n              bVar26 = pbVar18 == (byte *)0x0;\n              if (bVar26) {\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_003103c9:\n                if ((bVar5 == 2) ||\n                   ((*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0'))))\n                goto LAB_003103e1;\n                goto LAB_0031043f;\n              }\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"ignore-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar24 = *pbVar19 < *pbVar20;\n                bVar26 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar26);\n              bVar25 = false;\n              bVar24 = (!bVar24 && !bVar26) == bVar24;\n              if (bVar24) goto LAB_00310438;\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"report-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar25 = *pbVar19 < *pbVar20;\n                bVar24 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar15 = 0x17;\n                pbVar19 = pbVar18;\n                pbVar20 = (byte *)"ignore-in-object-files";\n                do {\n                  if (lVar15 == 0) break;\n                  lVar15 = lVar15 + -1;\n                  bVar26 = *pbVar19 < *pbVar20;\n                  bVar24 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if ((!bVar24) || (bVar24 = (*(byte *)((long)puVar10 + 0x3b) & 1) == 0, !bVar24)) {\n                  bVar26 = false;\n                  lVar15 = 0x16;\n                  pbVar19 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    if (lVar15 == 0) break;\n                    lVar15 = lVar15 + -1;\n                    bVar26 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  if (((!bVar26 && !bVar24) != bVar26) || (*(char *)((long)puVar10 + 0x3a) < '\0'))\n                  goto LAB_003103c9;\n                }\n                goto LAB_0031043f;\n              }\nLAB_003103e1:\n              FUN_0034b9f0(puVar10,param_2,local_148,local_140);\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            else {\n              if (bVar5 == 4) goto LAB_0031020c;\nLAB_00310260:\n              bVar5 = *(byte *)((long)puVar10 + 0x39);\n              if ((bVar5 & 3) != 0) {\nLAB_0031026d:\n                bVar5 = bVar5 & 3;\n                bVar16 = bVar16 & 7;\nLAB_00310270:\n                if (((bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2)) &&\n                   (bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0)) goto LAB_00310293;\n              }\nLAB_003101c0:\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            if ((bVar16 & 4) != 0) {\n              FUN_00446c20(*param_2 + 0x1e0,puVar10,param_2,local_148,local_140);\n            }\n          }\n        }\n        local_138 = &local_d8;\n        FUN_001a5bc0(&local_b8);\n        FUN_001a5bc0(local_138);\n      }" if (parenthesized_expression "((param_7 == '\0') ||\n         (local_140 = FUN_003cff80(param_6,param_2[2],(int)param_2[6],local_140),\n         local_140 != 0xffffffffffffffff))" ( (binary_expression "(param_7 == '\0') ||\n         (local_140 = FUN_003cff80(param_6,param_2[2],(int)param_2[6],local_140),\n         local_140 != 0xffffffffffffffff)" (parenthesized_expression "(param_7 == '\0')" ( (binary_expression "param_7 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(local_140 = FUN_003cff80(param_6,param_2[2],(int)param_2[6],local_140),\n         local_140 != 0xffffffffffffffff)" ( (comma_expression "local_140 = FUN_003cff80(param_6,param_2[2],(int)param_2[6],local_140),\n         local_140 != 0xffffffffffffffff" (assignment_expression "local_140 = FUN_003cff80(param_6,param_2[2],(int)param_2[6],local_140)" identifier = (call_expression "FUN_003cff80(param_6,param_2[2],(int)param_2[6],local_140)" identifier (argument_list "(param_6,param_2[2],(int)param_2[6],local_140)" ( identifier , (subscript_expression "param_2[2]" identifier [ number_literal ]) , (cast_expression "(int)param_2[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_2[6]" identifier [ number_literal ])) , identifier )))) , (binary_expression "local_140 != 0xffffffffffffffff" identifier != number_literal)) ))) )) (compound_statement "{\n        local_d0 = 0x80000000;\n        local_c8 = 0;\n        uVar21 = local_120[1];\n        local_d8 = 0xffffffff00000000;\n        uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n        if (uVar21 < local_ec) {\n          if ((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))\n          {\nLAB_0030fa33:\n            iVar7 = *(int *)((long)puVar10 + 0x1c);\n            uVar17 = iVar7 - 1;\n            if (0xfffffffd < uVar17) goto LAB_0030fa42;\nLAB_0030fcf0:\n            if (uVar17 == 0xfffffffd) {\n                    \n              FUN_00352af0("../../gold/object.h",0x70d,"set_output_symtab_index");\n            }\n            local_d8 = CONCAT44(local_d8._4_4_,iVar7);\n            goto LAB_0030fa4a;\n          }\n          if ((ulong)((plVar23[0x2d] - plVar23[0x2c] >> 3) * -0x5555555555555555) <= (ulong)uVar21)\n          {\n                    \n            FUN_00352af0("../../gold/object.h",0x8c1,"local_symbol");\n          }\n          puVar22 = (undefined8 *)(plVar23[0x2c] + (ulong)uVar21 * 0x18);\n          uVar1 = *(uint *)(puVar22 + 1);\n          uVar6 = uVar1 & 0x7ffffff;\n          uVar17 = uVar1 & 0x7ffffff;\n          if (((*(byte *)((long)puVar22 + 0xb) & 8) == 0) || (uVar6 == 0)) {\nLAB_0030fbb3:\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }\n          if ((ulong)(plVar23[0xb] - plVar23[10] >> 3) <= (ulong)uVar6) {\n                    \n                    \n            FUN_00352af0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(long *)(plVar23[10] + (ulong)uVar6 * 8) != 0) goto LAB_0030fbb3;\n          cVar4 = FUN_00443530(*param_2,plVar23,uVar1 & 0x7ffffff);\n          puVar10 = (undefined8 *)0x0;\n          if (cVar4 != '\0') {\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }\nLAB_0030fd25:\n          local_b0 = 0x80000000;\n          local_b8 = 0xffffffff00000000;\n          local_a8 = 0;\n          if (*(code **)(*plVar23 + 0x80) == FUN_0022c990) {\n                    \n            FUN_0022c800(local_58,plVar23 + 0x1f);\n          }\n          else {\n                    \n            (**(code **)(*plVar23 + 0x80))(local_58,plVar23,(int)param_2[6]);\n          }\n          bVar24 = false;\n          bVar26 = iVar8 == 0;\n          if (bVar26) {\n            lVar13 = 6;\n            pbVar18 = local_58[0];\n            pbVar19 = &DAT_00533552;\n            do {\n              if (lVar13 == 0) break;\n              lVar13 = lVar13 + -1;\n              bVar24 = *pbVar18 < *pbVar19;\n              bVar26 = *pbVar18 == *pbVar19;\n              pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n              pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n            } while (bVar26);\n            bVar25 = false;\n            bVar24 = (!bVar24 && !bVar26) == bVar24;\n            if (!bVar24) {\n              lVar13 = 7;\n              pbVar18 = local_58[0];\n              pbVar19 = (byte *)".zdebug";\n              do {\n                if (lVar13 == 0) break;\n                lVar13 = lVar13 + -1;\n                bVar25 = *pbVar18 < *pbVar19;\n                bVar24 = *pbVar18 == *pbVar19;\n                pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar13 = 0x11;\n                pbVar18 = local_58[0];\n                pbVar19 = (byte *)".gnu.linkonce.wi.";\n                do {\n                  if (lVar13 == 0) break;\n                  lVar13 = lVar13 + -1;\n                  bVar26 = *pbVar18 < *pbVar19;\n                  bVar24 = *pbVar18 == *pbVar19;\n                  pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  lVar13 = 5;\n                  pbVar18 = local_58[0];\n                  pbVar19 = (byte *)".line";\n                  do {\n                    if (lVar13 == 0) break;\n                    lVar13 = lVar13 + -1;\n                    bVar25 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    lVar13 = 5;\n                    pbVar18 = local_58[0];\n                    pbVar19 = (byte *)".stab";\n                    do {\n                      if (lVar13 == 0) break;\n                      lVar13 = lVar13 + -1;\n                      bVar26 = *pbVar18 < *pbVar19;\n                      bVar24 = *pbVar18 == *pbVar19;\n                      pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                      pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      lVar13 = 4;\n                      pbVar18 = local_58[0];\n                      pbVar19 = &DAT_0053357f;\n                      do {\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0030fdc0:\n                    \n            iVar8 = FUN_00397c50(plVar23,uVar17,local_58,&local_78);\n            local_a8 = 0;\n            if (local_78 != '\0') {\n              local_a8 = iVar8 + *(int *)(puVar22 + 2);\n            }\n            iVar8 = 1;\n          }\n          else {\n            if (iVar8 == 1) goto LAB_0030fdc0;\n            if (iVar8 == 3) {\nLAB_0030ff50:\n              lVar13 = param_2[2];\n              if (puVar10 == (undefined8 *)0x0) {\n                    \n                uVar9 = FUN_0039dd50(lVar13,uVar21);\n                uVar11 = gettext(\n                                "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                );\n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9,uVar21);\n              }\n              else {\n                    \n                FUN_004443d0(&local_78,puVar10);\n                uVar9 = CONCAT71(uStack_77,local_78);\n                uVar11 = gettext(\n                                "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                );\n                    \n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9);\n                if ((undefined1 *)CONCAT71(uStack_77,local_78) != auStack_68) {\n                  FUN_0049e340();\n                }\n              }\n                    \n              iVar8 = FUN_0039d3c0(lVar13,uVar21,local_e0,&local_e1);\n              if (iVar8 != 0) {\n                    \n                lVar15 = FUN_00397ec0(lVar13,iVar8,&local_dc);\n                if (local_dc != 0) {\n                    \n                  uVar9 = FUN_0039dd50(lVar13);\n                  uVar11 = gettext("  section group signature: \"%s\"");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n                if (lVar15 != 0) {\n                  uVar9 = *(undefined8 *)(lVar15 + 8);\n                  uVar11 = gettext("  prevailing definition is from %s");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n              }\n              iVar8 = 3;\n            }\n            else {\nLAB_00310006:\n              iVar8 = 2;\n            }\n            local_a8 = 0;\n          }\n          if ((int)local_b8 != 0) {\n                    \n                    \n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\n          local_b8 = CONCAT44(local_b8._4_4_,0xffffffff);\n          if (local_58[0] != abStack_48) {\n            FUN_0049e340();\n          }\n          puVar22 = &local_b8;\n          if (-1 < (long)local_140) goto LAB_0030fae5;\nLAB_0030fe48:\n          uVar9 = gettext("reloc has bad offset %zu");\n                    \n          FUN_0034aed0(param_2,local_148,local_140,uVar9,local_140);\n        }\n        else {\n          if ((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))\n          goto LAB_0030fa33;\n          if (uVar21 < *(uint *)(plVar23 + 0x24)) {\nLAB_003107a0:\n                    \n                    \n            FUN_00352af0("../../gold/target-reloc.h",0x17f,"relocate_section");\n          }\n          uVar14 = (ulong)(uVar21 - *(uint *)(plVar23 + 0x24));\n          if ((ulong)(plVar23[0x27] - plVar23[0x26] >> 3) <= uVar14) {\n                    \n            FUN_00352af0("../../gold/object.h",0x8ad,"global_symbol");\n          }\n          puVar10 = *(undefined8 **)(plVar23[0x26] + uVar14 * 8);\n          if (puVar10 == (undefined8 *)0x0) goto LAB_003107a0;\n          if ((*(byte *)((long)puVar10 + 0x3a) & 0x10) == 0) goto LAB_0030fa33;\n                    \n          puVar10 = (undefined8 *)FUN_00443580(*param_2,puVar10);\n          iVar7 = *(int *)((long)puVar10 + 0x1c);\n          uVar17 = iVar7 - 1;\n          if (uVar17 < 0xfffffffe) {\n            if (((int)local_d8 != 0) && ((int)local_d8 != -2)) {\n                    \n                    \n              FUN_00352af0("../../gold/object.h",0x70c,"set_output_symtab_index");\n            }\n            goto LAB_0030fcf0;\n          }\n          if ((int)local_d8 != 0) {\n                    \n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\nLAB_0030fa42:\n          local_d8 = CONCAT44(local_d8._4_4_,0xffffffff);\nLAB_0030fa4a:\n          local_c8 = *(undefined4 *)(puVar10 + 8);\n          if ((*(byte *)(puVar10 + 7) & 0xf) == 6) {\n            local_d0 = local_d0 | 0x20000000;\n          }\n          else if ((*(byte *)(puVar10 + 7) & 0xf) == 10) {\n            local_d0 = local_d0 | 0x40000000;\n          }\n          if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') {\n            if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) {\nLAB_0030fd10:\n                puVar22 = &local_d8;\n                uVar17 = 0;\n                goto LAB_0030fd25;\n              }\n            }\n            else if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 4) goto LAB_0030fd10;\n          }\n          puVar22 = &local_d8;\nLAB_0030faa5:\n          local_b0 = 0x80000000;\n          local_b8 = 0xffffffff00000000;\n          local_a8 = 0;\n          if ((long)local_140 < 0) goto LAB_0030fe48;\nLAB_0030fae5:\n          if ((param_10 <= local_140) || (local_140 + param_8 == 0)) goto LAB_0030fe48;\n          uVar21 = local_120[1];\n          if (uVar21 >> 0x18 != 0) {\n            uVar9 = gettext("Invalid/unrecognized reloc reloc %d.");\n                    \n            FUN_0034a750(uVar9,uVar21 >> 0x18);\n                    \n            FUN_00352af0("../../gold/aarch64-reloc-property.h",0xeb,"code_to_array_index");\n          }\n          if (*DAT_0067dff8 == 0) {\n                    \n            FUN_0031d8d0(local_58,DAT_0067dff8,0);\n            pbVar18 = local_58[0];\n            uVar9 = gettext("cannot relocate %s in object file");\n            uVar21 = *local_120;\n                    \n            FUN_0034aed0(param_2,local_148,\n                         uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18,uVar9,pbVar18);\n            if (local_58[0] != abStack_48) {\n              FUN_0049e340();\n            }\n          }\n          else {\n            plVar3 = (long *)param_2[2];\n            local_90 = 0x80000000;\n            local_98 = 0xffffffff00000000;\n            local_88 = 0;\n            if (puVar10 == (undefined8 *)0x0) {\n              if ((*(byte *)((long)puVar22 + 0xb) & 0x40) != 0) {\n                uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n                    \n                cVar4 = FUN_00397bb0(plVar3,uVar21);\n                if (cVar4 != '\0') {\n                  lVar13 = *(long *)(param_1 + 0x28);\n                  if (lVar13 == 0) {\n                    \n                    FUN_002ed4a0();\n                    goto LAB_003108ca;\n                  }\n                  if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    \n                    \n                    FUN_00352af0("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar9 = *(undefined8 *)(lVar13 + 8);\n                  iVar7 = *(int *)(lVar13 + 0x68);\n                  local_88 = (**(code **)(*plVar3 + 0x150))(plVar3,uVar21);\n                  local_88 = (int)uVar9 + 0x20 + iVar7 * 0x10 + local_88;\n                }\n              }\n            }\n            else {\n                    \n              cVar4 = FUN_00228fa0(puVar10,*(undefined4 *)(*DAT_0067dff8 + 0x4c));\n              if (cVar4 != '\0') {\n                if (*(long *)(param_1 + 0x28) == 0) {\n                    \n                  FUN_002ed4a0();\n                  goto LAB_00310805;\n                }\n                local_88 = FUN_002f9c90(*(long *)(param_1 + 0x28),puVar10);\n              }\n            }\n            FUN_001a5bc0(&local_98);\n          }\n          if (puVar10 != (undefined8 *)0x0) {\n            bVar16 = *(byte *)((long)puVar10 + 0x3a);\n            bVar5 = bVar16 & 7;\n            if ((bVar16 & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) != 0) || ((*(byte *)((long)puVar10 + 0x3b) & 0x20) == 0)) {\n                if (*(code **)(*(long *)puVar10[2] + 0x28) != FUN_001a4aa0) {\n                  lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                  if (lVar13 != 0) {\n                    bVar16 = *(byte *)((long)puVar10 + 0x3a);\n                    bVar5 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar5 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)puVar10 + 0x3b)) goto LAB_00310305;\n                    bVar5 = *(byte *)((long)puVar10 + 0x39);\n                    if ((bVar5 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }\nLAB_0031015a:\n                bVar16 = bVar16 & 7;\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                if ((*(byte *)((long)puVar10 + 0x39) & 3) == 0) goto LAB_003101c0;\nLAB_00310166:\n                if (((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)\n                    ) && ((*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0)))) {\nLAB_00310293:\n                  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_003108ca:\n                    \n                    \n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') {\n                    if (bVar16 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)(puVar10[2] + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }\n                if (bVar5 == 2) {\n                  uVar9 = gettext("hidden");\n                }\n                else if (bVar5 < 3) {\n                  if (bVar5 != 1) {\n                    \n                    FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar9 = gettext("internal");\n                }\n                else {\n                  uVar9 = gettext("protected");\n                }\n                uVar11 = *puVar10;\n                uVar12 = gettext("%s symbol \'%s\' is not defined locally");\n                    \n                FUN_0034a750(uVar12,uVar9,uVar11);\n                goto LAB_003101c0;\n              }\nLAB_0031020c:\n              if ((*(byte *)(puVar10 + 7) >> 4 == 2) || ((*(byte *)((long)puVar10 + 0x3c) & 2) != 0)\n                 ) {\nLAB_00310438:\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_0031043f:\n                if (bVar5 == 0) goto LAB_003101c0;\n                bVar16 = *(byte *)((long)puVar10 + 0x3a) & 7;\n                if (bVar16 != 0) goto LAB_00310270;\n                goto LAB_00310166;\n              }\n              if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\n                    \n                    \n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') goto LAB_00310438;\n              if (*(char *)((long)puVar10 + 0x3b) < '\0') {\n                if (bVar5 != 0) goto LAB_00310260;\nLAB_003105b8:\n                if (*(code **)(*(long *)puVar10[2] + 0x28) == FUN_001a4aa0) goto LAB_0031015a;\n                    \n                lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                if (lVar13 == 0) goto LAB_00310438;\n              }\nLAB_00310305:\n              plVar3 = *(long **)(PTR_DAT_0067cb08 + 0x18);\n              if (plVar3 == (long *)0x0) {\nLAB_00310805:\n                    \n                    \n                FUN_00352af0("../../gold/parameters.h",0x69,"target");\n              }\n              if ((*(code **)(*plVar3 + 0x38) != FUN_001a49e0) &&\n                 (cVar4 = (**(code **)(*plVar3 + 0x38))(plVar3,puVar10), cVar4 != '\0'))\n              goto LAB_00310438;\n              lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar13 == 0) {\n                    \n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              pbVar18 = *(byte **)(lVar13 + 0x6c40);\n              bVar24 = false;\n              bVar26 = pbVar18 == (byte *)0x0;\n              if (bVar26) {\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_003103c9:\n                if ((bVar5 == 2) ||\n                   ((*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0'))))\n                goto LAB_003103e1;\n                goto LAB_0031043f;\n              }\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"ignore-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar24 = *pbVar19 < *pbVar20;\n                bVar26 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar26);\n              bVar25 = false;\n              bVar24 = (!bVar24 && !bVar26) == bVar24;\n              if (bVar24) goto LAB_00310438;\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"report-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar25 = *pbVar19 < *pbVar20;\n                bVar24 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar15 = 0x17;\n                pbVar19 = pbVar18;\n                pbVar20 = (byte *)"ignore-in-object-files";\n                do {\n                  if (lVar15 == 0) break;\n                  lVar15 = lVar15 + -1;\n                  bVar26 = *pbVar19 < *pbVar20;\n                  bVar24 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if ((!bVar24) || (bVar24 = (*(byte *)((long)puVar10 + 0x3b) & 1) == 0, !bVar24)) {\n                  bVar26 = false;\n                  lVar15 = 0x16;\n                  pbVar19 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    if (lVar15 == 0) break;\n                    lVar15 = lVar15 + -1;\n                    bVar26 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  if (((!bVar26 && !bVar24) != bVar26) || (*(char *)((long)puVar10 + 0x3a) < '\0'))\n                  goto LAB_003103c9;\n                }\n                goto LAB_0031043f;\n              }\nLAB_003103e1:\n              FUN_0034b9f0(puVar10,param_2,local_148,local_140);\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            else {\n              if (bVar5 == 4) goto LAB_0031020c;\nLAB_00310260:\n              bVar5 = *(byte *)((long)puVar10 + 0x39);\n              if ((bVar5 & 3) != 0) {\nLAB_0031026d:\n                bVar5 = bVar5 & 3;\n                bVar16 = bVar16 & 7;\nLAB_00310270:\n                if (((bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2)) &&\n                   (bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0)) goto LAB_00310293;\n              }\nLAB_003101c0:\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            if ((bVar16 & 4) != 0) {\n              FUN_00446c20(*param_2 + 0x1e0,puVar10,param_2,local_148,local_140);\n            }\n          }\n        }\n        local_138 = &local_d8;\n        FUN_001a5bc0(&local_b8);\n        FUN_001a5bc0(local_138);\n      }" { (expression_statement "local_d0 = 0x80000000;" (assignment_expression "local_d0 = 0x80000000" identifier = number_literal) ;) (expression_statement "local_c8 = 0;" (assignment_expression "local_c8 = 0" identifier = number_literal) ;) (expression_statement "uVar21 = local_120[1];" (assignment_expression "uVar21 = local_120[1]" identifier = (subscript_expression "local_120[1]" identifier [ number_literal ])) ;) (expression_statement "local_d8 = 0xffffffff00000000;" (assignment_expression "local_d8 = 0xffffffff00000000" identifier = number_literal) ;) (expression_statement "uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;" (assignment_expression "uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8" identifier = (binary_expression "((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8" (parenthesized_expression "((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18)" ( (binary_expression "(uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18" (binary_expression "(uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8" (binary_expression "(uVar21 & 0xff0000) >> 8" (parenthesized_expression "(uVar21 & 0xff0000)" ( (binary_expression "uVar21 & 0xff0000" identifier & number_literal) )) >> number_literal) | (binary_expression "(uVar21 & 0xff00) << 8" (parenthesized_expression "(uVar21 & 0xff00)" ( (binary_expression "uVar21 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar21 << 0x18" identifier << number_literal)) )) >> number_literal)) ;) (if_statement "if (uVar21 < local_ec) {\n          if ((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))\n          {\nLAB_0030fa33:\n            iVar7 = *(int *)((long)puVar10 + 0x1c);\n            uVar17 = iVar7 - 1;\n            if (0xfffffffd < uVar17) goto LAB_0030fa42;\nLAB_0030fcf0:\n            if (uVar17 == 0xfffffffd) {\n                    \n              FUN_00352af0("../../gold/object.h",0x70d,"set_output_symtab_index");\n            }\n            local_d8 = CONCAT44(local_d8._4_4_,iVar7);\n            goto LAB_0030fa4a;\n          }\n          if ((ulong)((plVar23[0x2d] - plVar23[0x2c] >> 3) * -0x5555555555555555) <= (ulong)uVar21)\n          {\n                    \n            FUN_00352af0("../../gold/object.h",0x8c1,"local_symbol");\n          }\n          puVar22 = (undefined8 *)(plVar23[0x2c] + (ulong)uVar21 * 0x18);\n          uVar1 = *(uint *)(puVar22 + 1);\n          uVar6 = uVar1 & 0x7ffffff;\n          uVar17 = uVar1 & 0x7ffffff;\n          if (((*(byte *)((long)puVar22 + 0xb) & 8) == 0) || (uVar6 == 0)) {\nLAB_0030fbb3:\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }\n          if ((ulong)(plVar23[0xb] - plVar23[10] >> 3) <= (ulong)uVar6) {\n                    \n                    \n            FUN_00352af0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(long *)(plVar23[10] + (ulong)uVar6 * 8) != 0) goto LAB_0030fbb3;\n          cVar4 = FUN_00443530(*param_2,plVar23,uVar1 & 0x7ffffff);\n          puVar10 = (undefined8 *)0x0;\n          if (cVar4 != '\0') {\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }\nLAB_0030fd25:\n          local_b0 = 0x80000000;\n          local_b8 = 0xffffffff00000000;\n          local_a8 = 0;\n          if (*(code **)(*plVar23 + 0x80) == FUN_0022c990) {\n                    \n            FUN_0022c800(local_58,plVar23 + 0x1f);\n          }\n          else {\n                    \n            (**(code **)(*plVar23 + 0x80))(local_58,plVar23,(int)param_2[6]);\n          }\n          bVar24 = false;\n          bVar26 = iVar8 == 0;\n          if (bVar26) {\n            lVar13 = 6;\n            pbVar18 = local_58[0];\n            pbVar19 = &DAT_00533552;\n            do {\n              if (lVar13 == 0) break;\n              lVar13 = lVar13 + -1;\n              bVar24 = *pbVar18 < *pbVar19;\n              bVar26 = *pbVar18 == *pbVar19;\n              pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n              pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n            } while (bVar26);\n            bVar25 = false;\n            bVar24 = (!bVar24 && !bVar26) == bVar24;\n            if (!bVar24) {\n              lVar13 = 7;\n              pbVar18 = local_58[0];\n              pbVar19 = (byte *)".zdebug";\n              do {\n                if (lVar13 == 0) break;\n                lVar13 = lVar13 + -1;\n                bVar25 = *pbVar18 < *pbVar19;\n                bVar24 = *pbVar18 == *pbVar19;\n                pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar13 = 0x11;\n                pbVar18 = local_58[0];\n                pbVar19 = (byte *)".gnu.linkonce.wi.";\n                do {\n                  if (lVar13 == 0) break;\n                  lVar13 = lVar13 + -1;\n                  bVar26 = *pbVar18 < *pbVar19;\n                  bVar24 = *pbVar18 == *pbVar19;\n                  pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  lVar13 = 5;\n                  pbVar18 = local_58[0];\n                  pbVar19 = (byte *)".line";\n                  do {\n                    if (lVar13 == 0) break;\n                    lVar13 = lVar13 + -1;\n                    bVar25 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    lVar13 = 5;\n                    pbVar18 = local_58[0];\n                    pbVar19 = (byte *)".stab";\n                    do {\n                      if (lVar13 == 0) break;\n                      lVar13 = lVar13 + -1;\n                      bVar26 = *pbVar18 < *pbVar19;\n                      bVar24 = *pbVar18 == *pbVar19;\n                      pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                      pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      lVar13 = 4;\n                      pbVar18 = local_58[0];\n                      pbVar19 = &DAT_0053357f;\n                      do {\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0030fdc0:\n                    \n            iVar8 = FUN_00397c50(plVar23,uVar17,local_58,&local_78);\n            local_a8 = 0;\n            if (local_78 != '\0') {\n              local_a8 = iVar8 + *(int *)(puVar22 + 2);\n            }\n            iVar8 = 1;\n          }\n          else {\n            if (iVar8 == 1) goto LAB_0030fdc0;\n            if (iVar8 == 3) {\nLAB_0030ff50:\n              lVar13 = param_2[2];\n              if (puVar10 == (undefined8 *)0x0) {\n                    \n                uVar9 = FUN_0039dd50(lVar13,uVar21);\n                uVar11 = gettext(\n                                "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                );\n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9,uVar21);\n              }\n              else {\n                    \n                FUN_004443d0(&local_78,puVar10);\n                uVar9 = CONCAT71(uStack_77,local_78);\n                uVar11 = gettext(\n                                "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                );\n                    \n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9);\n                if ((undefined1 *)CONCAT71(uStack_77,local_78) != auStack_68) {\n                  FUN_0049e340();\n                }\n              }\n                    \n              iVar8 = FUN_0039d3c0(lVar13,uVar21,local_e0,&local_e1);\n              if (iVar8 != 0) {\n                    \n                lVar15 = FUN_00397ec0(lVar13,iVar8,&local_dc);\n                if (local_dc != 0) {\n                    \n                  uVar9 = FUN_0039dd50(lVar13);\n                  uVar11 = gettext("  section group signature: \"%s\"");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n                if (lVar15 != 0) {\n                  uVar9 = *(undefined8 *)(lVar15 + 8);\n                  uVar11 = gettext("  prevailing definition is from %s");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n              }\n              iVar8 = 3;\n            }\n            else {\nLAB_00310006:\n              iVar8 = 2;\n            }\n            local_a8 = 0;\n          }\n          if ((int)local_b8 != 0) {\n                    \n                    \n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\n          local_b8 = CONCAT44(local_b8._4_4_,0xffffffff);\n          if (local_58[0] != abStack_48) {\n            FUN_0049e340();\n          }\n          puVar22 = &local_b8;\n          if (-1 < (long)local_140) goto LAB_0030fae5;\nLAB_0030fe48:\n          uVar9 = gettext("reloc has bad offset %zu");\n                    \n          FUN_0034aed0(param_2,local_148,local_140,uVar9,local_140);\n        }\n        else {\n          if ((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))\n          goto LAB_0030fa33;\n          if (uVar21 < *(uint *)(plVar23 + 0x24)) {\nLAB_003107a0:\n                    \n                    \n            FUN_00352af0("../../gold/target-reloc.h",0x17f,"relocate_section");\n          }\n          uVar14 = (ulong)(uVar21 - *(uint *)(plVar23 + 0x24));\n          if ((ulong)(plVar23[0x27] - plVar23[0x26] >> 3) <= uVar14) {\n                    \n            FUN_00352af0("../../gold/object.h",0x8ad,"global_symbol");\n          }\n          puVar10 = *(undefined8 **)(plVar23[0x26] + uVar14 * 8);\n          if (puVar10 == (undefined8 *)0x0) goto LAB_003107a0;\n          if ((*(byte *)((long)puVar10 + 0x3a) & 0x10) == 0) goto LAB_0030fa33;\n                    \n          puVar10 = (undefined8 *)FUN_00443580(*param_2,puVar10);\n          iVar7 = *(int *)((long)puVar10 + 0x1c);\n          uVar17 = iVar7 - 1;\n          if (uVar17 < 0xfffffffe) {\n            if (((int)local_d8 != 0) && ((int)local_d8 != -2)) {\n                    \n                    \n              FUN_00352af0("../../gold/object.h",0x70c,"set_output_symtab_index");\n            }\n            goto LAB_0030fcf0;\n          }\n          if ((int)local_d8 != 0) {\n                    \n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\nLAB_0030fa42:\n          local_d8 = CONCAT44(local_d8._4_4_,0xffffffff);\nLAB_0030fa4a:\n          local_c8 = *(undefined4 *)(puVar10 + 8);\n          if ((*(byte *)(puVar10 + 7) & 0xf) == 6) {\n            local_d0 = local_d0 | 0x20000000;\n          }\n          else if ((*(byte *)(puVar10 + 7) & 0xf) == 10) {\n            local_d0 = local_d0 | 0x40000000;\n          }\n          if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') {\n            if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) {\nLAB_0030fd10:\n                puVar22 = &local_d8;\n                uVar17 = 0;\n                goto LAB_0030fd25;\n              }\n            }\n            else if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 4) goto LAB_0030fd10;\n          }\n          puVar22 = &local_d8;\nLAB_0030faa5:\n          local_b0 = 0x80000000;\n          local_b8 = 0xffffffff00000000;\n          local_a8 = 0;\n          if ((long)local_140 < 0) goto LAB_0030fe48;\nLAB_0030fae5:\n          if ((param_10 <= local_140) || (local_140 + param_8 == 0)) goto LAB_0030fe48;\n          uVar21 = local_120[1];\n          if (uVar21 >> 0x18 != 0) {\n            uVar9 = gettext("Invalid/unrecognized reloc reloc %d.");\n                    \n            FUN_0034a750(uVar9,uVar21 >> 0x18);\n                    \n            FUN_00352af0("../../gold/aarch64-reloc-property.h",0xeb,"code_to_array_index");\n          }\n          if (*DAT_0067dff8 == 0) {\n                    \n            FUN_0031d8d0(local_58,DAT_0067dff8,0);\n            pbVar18 = local_58[0];\n            uVar9 = gettext("cannot relocate %s in object file");\n            uVar21 = *local_120;\n                    \n            FUN_0034aed0(param_2,local_148,\n                         uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18,uVar9,pbVar18);\n            if (local_58[0] != abStack_48) {\n              FUN_0049e340();\n            }\n          }\n          else {\n            plVar3 = (long *)param_2[2];\n            local_90 = 0x80000000;\n            local_98 = 0xffffffff00000000;\n            local_88 = 0;\n            if (puVar10 == (undefined8 *)0x0) {\n              if ((*(byte *)((long)puVar22 + 0xb) & 0x40) != 0) {\n                uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n                    \n                cVar4 = FUN_00397bb0(plVar3,uVar21);\n                if (cVar4 != '\0') {\n                  lVar13 = *(long *)(param_1 + 0x28);\n                  if (lVar13 == 0) {\n                    \n                    FUN_002ed4a0();\n                    goto LAB_003108ca;\n                  }\n                  if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    \n                    \n                    FUN_00352af0("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar9 = *(undefined8 *)(lVar13 + 8);\n                  iVar7 = *(int *)(lVar13 + 0x68);\n                  local_88 = (**(code **)(*plVar3 + 0x150))(plVar3,uVar21);\n                  local_88 = (int)uVar9 + 0x20 + iVar7 * 0x10 + local_88;\n                }\n              }\n            }\n            else {\n                    \n              cVar4 = FUN_00228fa0(puVar10,*(undefined4 *)(*DAT_0067dff8 + 0x4c));\n              if (cVar4 != '\0') {\n                if (*(long *)(param_1 + 0x28) == 0) {\n                    \n                  FUN_002ed4a0();\n                  goto LAB_00310805;\n                }\n                local_88 = FUN_002f9c90(*(long *)(param_1 + 0x28),puVar10);\n              }\n            }\n            FUN_001a5bc0(&local_98);\n          }\n          if (puVar10 != (undefined8 *)0x0) {\n            bVar16 = *(byte *)((long)puVar10 + 0x3a);\n            bVar5 = bVar16 & 7;\n            if ((bVar16 & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) != 0) || ((*(byte *)((long)puVar10 + 0x3b) & 0x20) == 0)) {\n                if (*(code **)(*(long *)puVar10[2] + 0x28) != FUN_001a4aa0) {\n                  lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                  if (lVar13 != 0) {\n                    bVar16 = *(byte *)((long)puVar10 + 0x3a);\n                    bVar5 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar5 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)puVar10 + 0x3b)) goto LAB_00310305;\n                    bVar5 = *(byte *)((long)puVar10 + 0x39);\n                    if ((bVar5 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }\nLAB_0031015a:\n                bVar16 = bVar16 & 7;\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                if ((*(byte *)((long)puVar10 + 0x39) & 3) == 0) goto LAB_003101c0;\nLAB_00310166:\n                if (((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)\n                    ) && ((*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0)))) {\nLAB_00310293:\n                  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_003108ca:\n                    \n                    \n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') {\n                    if (bVar16 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)(puVar10[2] + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }\n                if (bVar5 == 2) {\n                  uVar9 = gettext("hidden");\n                }\n                else if (bVar5 < 3) {\n                  if (bVar5 != 1) {\n                    \n                    FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar9 = gettext("internal");\n                }\n                else {\n                  uVar9 = gettext("protected");\n                }\n                uVar11 = *puVar10;\n                uVar12 = gettext("%s symbol \'%s\' is not defined locally");\n                    \n                FUN_0034a750(uVar12,uVar9,uVar11);\n                goto LAB_003101c0;\n              }\nLAB_0031020c:\n              if ((*(byte *)(puVar10 + 7) >> 4 == 2) || ((*(byte *)((long)puVar10 + 0x3c) & 2) != 0)\n                 ) {\nLAB_00310438:\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_0031043f:\n                if (bVar5 == 0) goto LAB_003101c0;\n                bVar16 = *(byte *)((long)puVar10 + 0x3a) & 7;\n                if (bVar16 != 0) goto LAB_00310270;\n                goto LAB_00310166;\n              }\n              if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\n                    \n                    \n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') goto LAB_00310438;\n              if (*(char *)((long)puVar10 + 0x3b) < '\0') {\n                if (bVar5 != 0) goto LAB_00310260;\nLAB_003105b8:\n                if (*(code **)(*(long *)puVar10[2] + 0x28) == FUN_001a4aa0) goto LAB_0031015a;\n                    \n                lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                if (lVar13 == 0) goto LAB_00310438;\n              }\nLAB_00310305:\n              plVar3 = *(long **)(PTR_DAT_0067cb08 + 0x18);\n              if (plVar3 == (long *)0x0) {\nLAB_00310805:\n                    \n                    \n                FUN_00352af0("../../gold/parameters.h",0x69,"target");\n              }\n              if ((*(code **)(*plVar3 + 0x38) != FUN_001a49e0) &&\n                 (cVar4 = (**(code **)(*plVar3 + 0x38))(plVar3,puVar10), cVar4 != '\0'))\n              goto LAB_00310438;\n              lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar13 == 0) {\n                    \n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              pbVar18 = *(byte **)(lVar13 + 0x6c40);\n              bVar24 = false;\n              bVar26 = pbVar18 == (byte *)0x0;\n              if (bVar26) {\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_003103c9:\n                if ((bVar5 == 2) ||\n                   ((*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0'))))\n                goto LAB_003103e1;\n                goto LAB_0031043f;\n              }\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"ignore-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar24 = *pbVar19 < *pbVar20;\n                bVar26 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar26);\n              bVar25 = false;\n              bVar24 = (!bVar24 && !bVar26) == bVar24;\n              if (bVar24) goto LAB_00310438;\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"report-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar25 = *pbVar19 < *pbVar20;\n                bVar24 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar15 = 0x17;\n                pbVar19 = pbVar18;\n                pbVar20 = (byte *)"ignore-in-object-files";\n                do {\n                  if (lVar15 == 0) break;\n                  lVar15 = lVar15 + -1;\n                  bVar26 = *pbVar19 < *pbVar20;\n                  bVar24 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if ((!bVar24) || (bVar24 = (*(byte *)((long)puVar10 + 0x3b) & 1) == 0, !bVar24)) {\n                  bVar26 = false;\n                  lVar15 = 0x16;\n                  pbVar19 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    if (lVar15 == 0) break;\n                    lVar15 = lVar15 + -1;\n                    bVar26 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  if (((!bVar26 && !bVar24) != bVar26) || (*(char *)((long)puVar10 + 0x3a) < '\0'))\n                  goto LAB_003103c9;\n                }\n                goto LAB_0031043f;\n              }\nLAB_003103e1:\n              FUN_0034b9f0(puVar10,param_2,local_148,local_140);\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            else {\n              if (bVar5 == 4) goto LAB_0031020c;\nLAB_00310260:\n              bVar5 = *(byte *)((long)puVar10 + 0x39);\n              if ((bVar5 & 3) != 0) {\nLAB_0031026d:\n                bVar5 = bVar5 & 3;\n                bVar16 = bVar16 & 7;\nLAB_00310270:\n                if (((bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2)) &&\n                   (bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0)) goto LAB_00310293;\n              }\nLAB_003101c0:\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            if ((bVar16 & 4) != 0) {\n              FUN_00446c20(*param_2 + 0x1e0,puVar10,param_2,local_148,local_140);\n            }\n          }\n        }" if (parenthesized_expression "(uVar21 < local_ec)" ( (binary_expression "uVar21 < local_ec" identifier < identifier) )) (compound_statement "{\n          if ((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))\n          {\nLAB_0030fa33:\n            iVar7 = *(int *)((long)puVar10 + 0x1c);\n            uVar17 = iVar7 - 1;\n            if (0xfffffffd < uVar17) goto LAB_0030fa42;\nLAB_0030fcf0:\n            if (uVar17 == 0xfffffffd) {\n                    \n              FUN_00352af0("../../gold/object.h",0x70d,"set_output_symtab_index");\n            }\n            local_d8 = CONCAT44(local_d8._4_4_,iVar7);\n            goto LAB_0030fa4a;\n          }\n          if ((ulong)((plVar23[0x2d] - plVar23[0x2c] >> 3) * -0x5555555555555555) <= (ulong)uVar21)\n          {\n                    \n            FUN_00352af0("../../gold/object.h",0x8c1,"local_symbol");\n          }\n          puVar22 = (undefined8 *)(plVar23[0x2c] + (ulong)uVar21 * 0x18);\n          uVar1 = *(uint *)(puVar22 + 1);\n          uVar6 = uVar1 & 0x7ffffff;\n          uVar17 = uVar1 & 0x7ffffff;\n          if (((*(byte *)((long)puVar22 + 0xb) & 8) == 0) || (uVar6 == 0)) {\nLAB_0030fbb3:\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }\n          if ((ulong)(plVar23[0xb] - plVar23[10] >> 3) <= (ulong)uVar6) {\n                    \n                    \n            FUN_00352af0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(long *)(plVar23[10] + (ulong)uVar6 * 8) != 0) goto LAB_0030fbb3;\n          cVar4 = FUN_00443530(*param_2,plVar23,uVar1 & 0x7ffffff);\n          puVar10 = (undefined8 *)0x0;\n          if (cVar4 != '\0') {\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }\nLAB_0030fd25:\n          local_b0 = 0x80000000;\n          local_b8 = 0xffffffff00000000;\n          local_a8 = 0;\n          if (*(code **)(*plVar23 + 0x80) == FUN_0022c990) {\n                    \n            FUN_0022c800(local_58,plVar23 + 0x1f);\n          }\n          else {\n                    \n            (**(code **)(*plVar23 + 0x80))(local_58,plVar23,(int)param_2[6]);\n          }\n          bVar24 = false;\n          bVar26 = iVar8 == 0;\n          if (bVar26) {\n            lVar13 = 6;\n            pbVar18 = local_58[0];\n            pbVar19 = &DAT_00533552;\n            do {\n              if (lVar13 == 0) break;\n              lVar13 = lVar13 + -1;\n              bVar24 = *pbVar18 < *pbVar19;\n              bVar26 = *pbVar18 == *pbVar19;\n              pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n              pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n            } while (bVar26);\n            bVar25 = false;\n            bVar24 = (!bVar24 && !bVar26) == bVar24;\n            if (!bVar24) {\n              lVar13 = 7;\n              pbVar18 = local_58[0];\n              pbVar19 = (byte *)".zdebug";\n              do {\n                if (lVar13 == 0) break;\n                lVar13 = lVar13 + -1;\n                bVar25 = *pbVar18 < *pbVar19;\n                bVar24 = *pbVar18 == *pbVar19;\n                pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar13 = 0x11;\n                pbVar18 = local_58[0];\n                pbVar19 = (byte *)".gnu.linkonce.wi.";\n                do {\n                  if (lVar13 == 0) break;\n                  lVar13 = lVar13 + -1;\n                  bVar26 = *pbVar18 < *pbVar19;\n                  bVar24 = *pbVar18 == *pbVar19;\n                  pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  lVar13 = 5;\n                  pbVar18 = local_58[0];\n                  pbVar19 = (byte *)".line";\n                  do {\n                    if (lVar13 == 0) break;\n                    lVar13 = lVar13 + -1;\n                    bVar25 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    lVar13 = 5;\n                    pbVar18 = local_58[0];\n                    pbVar19 = (byte *)".stab";\n                    do {\n                      if (lVar13 == 0) break;\n                      lVar13 = lVar13 + -1;\n                      bVar26 = *pbVar18 < *pbVar19;\n                      bVar24 = *pbVar18 == *pbVar19;\n                      pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                      pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      lVar13 = 4;\n                      pbVar18 = local_58[0];\n                      pbVar19 = &DAT_0053357f;\n                      do {\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0030fdc0:\n                    \n            iVar8 = FUN_00397c50(plVar23,uVar17,local_58,&local_78);\n            local_a8 = 0;\n            if (local_78 != '\0') {\n              local_a8 = iVar8 + *(int *)(puVar22 + 2);\n            }\n            iVar8 = 1;\n          }\n          else {\n            if (iVar8 == 1) goto LAB_0030fdc0;\n            if (iVar8 == 3) {\nLAB_0030ff50:\n              lVar13 = param_2[2];\n              if (puVar10 == (undefined8 *)0x0) {\n                    \n                uVar9 = FUN_0039dd50(lVar13,uVar21);\n                uVar11 = gettext(\n                                "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                );\n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9,uVar21);\n              }\n              else {\n                    \n                FUN_004443d0(&local_78,puVar10);\n                uVar9 = CONCAT71(uStack_77,local_78);\n                uVar11 = gettext(\n                                "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                );\n                    \n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9);\n                if ((undefined1 *)CONCAT71(uStack_77,local_78) != auStack_68) {\n                  FUN_0049e340();\n                }\n              }\n                    \n              iVar8 = FUN_0039d3c0(lVar13,uVar21,local_e0,&local_e1);\n              if (iVar8 != 0) {\n                    \n                lVar15 = FUN_00397ec0(lVar13,iVar8,&local_dc);\n                if (local_dc != 0) {\n                    \n                  uVar9 = FUN_0039dd50(lVar13);\n                  uVar11 = gettext("  section group signature: \"%s\"");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n                if (lVar15 != 0) {\n                  uVar9 = *(undefined8 *)(lVar15 + 8);\n                  uVar11 = gettext("  prevailing definition is from %s");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n              }\n              iVar8 = 3;\n            }\n            else {\nLAB_00310006:\n              iVar8 = 2;\n            }\n            local_a8 = 0;\n          }\n          if ((int)local_b8 != 0) {\n                    \n                    \n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\n          local_b8 = CONCAT44(local_b8._4_4_,0xffffffff);\n          if (local_58[0] != abStack_48) {\n            FUN_0049e340();\n          }\n          puVar22 = &local_b8;\n          if (-1 < (long)local_140) goto LAB_0030fae5;\nLAB_0030fe48:\n          uVar9 = gettext("reloc has bad offset %zu");\n                    \n          FUN_0034aed0(param_2,local_148,local_140,uVar9,local_140);\n        }" { (if_statement "if ((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))\n          {\nLAB_0030fa33:\n            iVar7 = *(int *)((long)puVar10 + 0x1c);\n            uVar17 = iVar7 - 1;\n            if (0xfffffffd < uVar17) goto LAB_0030fa42;\nLAB_0030fcf0:\n            if (uVar17 == 0xfffffffd) {\n                    \n              FUN_00352af0("../../gold/object.h",0x70d,"set_output_symtab_index");\n            }\n            local_d8 = CONCAT44(local_d8._4_4_,iVar7);\n            goto LAB_0030fa4a;\n          }" if (parenthesized_expression "((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))" ( (binary_expression "(param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0)" (parenthesized_expression "(param_11 != (long *)0x0)" ( (binary_expression "param_11 != (long *)0x0" identifier != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0)" ( (comma_expression "puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0" (assignment_expression "puVar10 = *(undefined8 **)(*param_11 + local_148 * 8)" identifier = (pointer_expression "*(undefined8 **)(*param_11 + local_148 * 8)" * (cast_expression "(undefined8 **)(*param_11 + local_148 * 8)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_11 + local_148 * 8)" ( (binary_expression "*param_11 + local_148 * 8" (pointer_expression "*param_11" * identifier) + (binary_expression "local_148 * 8" identifier * number_literal)) ))))) , (binary_expression "puVar10 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\nLAB_0030fa33:\n            iVar7 = *(int *)((long)puVar10 + 0x1c);\n            uVar17 = iVar7 - 1;\n            if (0xfffffffd < uVar17) goto LAB_0030fa42;\nLAB_0030fcf0:\n            if (uVar17 == 0xfffffffd) {\n                    \n              FUN_00352af0("../../gold/object.h",0x70d,"set_output_symtab_index");\n            }\n            local_d8 = CONCAT44(local_d8._4_4_,iVar7);\n            goto LAB_0030fa4a;\n          }" { (labeled_statement "LAB_0030fa33:\n            iVar7 = *(int *)((long)puVar10 + 0x1c);" statement_identifier : (expression_statement "iVar7 = *(int *)((long)puVar10 + 0x1c);" (assignment_expression "iVar7 = *(int *)((long)puVar10 + 0x1c)" identifier = (pointer_expression "*(int *)((long)puVar10 + 0x1c)" * (cast_expression "(int *)((long)puVar10 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar10 + 0x1c)" ( (binary_expression "(long)puVar10 + 0x1c" (cast_expression "(long)puVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;)) (expression_statement "uVar17 = iVar7 - 1;" (assignment_expression "uVar17 = iVar7 - 1" identifier = (binary_expression "iVar7 - 1" identifier - number_literal)) ;) (if_statement "if (0xfffffffd < uVar17) goto LAB_0030fa42;" if (parenthesized_expression "(0xfffffffd < uVar17)" ( (binary_expression "0xfffffffd < uVar17" number_literal < identifier) )) (goto_statement "goto LAB_0030fa42;" goto statement_identifier ;)) (labeled_statement "LAB_0030fcf0:\n            if (uVar17 == 0xfffffffd) {\n                    \n              FUN_00352af0("../../gold/object.h",0x70d,"set_output_symtab_index");\n            }" statement_identifier : (if_statement "if (uVar17 == 0xfffffffd) {\n                    \n              FUN_00352af0("../../gold/object.h",0x70d,"set_output_symtab_index");\n            }" if (parenthesized_expression "(uVar17 == 0xfffffffd)" ( (binary_expression "uVar17 == 0xfffffffd" identifier == number_literal) )) (compound_statement "{\n                    \n              FUN_00352af0("../../gold/object.h",0x70d,"set_output_symtab_index");\n            }" { (expression_statement "FUN_00352af0("../../gold/object.h",0x70d,"set_output_symtab_index");" (call_expression "FUN_00352af0("../../gold/object.h",0x70d,"set_output_symtab_index")" identifier (argument_list "("../../gold/object.h",0x70d,"set_output_symtab_index")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""set_output_symtab_index"" " string_content ") ))) ;) }))) (expression_statement "local_d8 = CONCAT44(local_d8._4_4_,iVar7);" (assignment_expression "local_d8 = CONCAT44(local_d8._4_4_,iVar7)" identifier = (call_expression "CONCAT44(local_d8._4_4_,iVar7)" identifier (argument_list "(local_d8._4_4_,iVar7)" ( (field_expression "local_d8._4_4_" identifier . field_identifier) , identifier )))) ;) (goto_statement "goto LAB_0030fa4a;" goto statement_identifier ;) })) (if_statement "if ((ulong)((plVar23[0x2d] - plVar23[0x2c] >> 3) * -0x5555555555555555) <= (ulong)uVar21)\n          {\n                    \n            FUN_00352af0("../../gold/object.h",0x8c1,"local_symbol");\n          }" if (parenthesized_expression "((ulong)((plVar23[0x2d] - plVar23[0x2c] >> 3) * -0x5555555555555555) <= (ulong)uVar21)" ( (binary_expression "(ulong)((plVar23[0x2d] - plVar23[0x2c] >> 3) * -0x5555555555555555) <= (ulong)uVar21" (call_expression "(ulong)((plVar23[0x2d] - plVar23[0x2c] >> 3) * -0x5555555555555555)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((plVar23[0x2d] - plVar23[0x2c] >> 3) * -0x5555555555555555)" ( (binary_expression "(plVar23[0x2d] - plVar23[0x2c] >> 3) * -0x5555555555555555" (parenthesized_expression "(plVar23[0x2d] - plVar23[0x2c] >> 3)" ( (binary_expression "plVar23[0x2d] - plVar23[0x2c] >> 3" (binary_expression "plVar23[0x2d] - plVar23[0x2c]" (subscript_expression "plVar23[0x2d]" identifier [ number_literal ]) - (subscript_expression "plVar23[0x2c]" identifier [ number_literal ])) >> number_literal) )) * number_literal) ))) <= (cast_expression "(ulong)uVar21" ( (type_descriptor "ulong" type_identifier) ) identifier)) )) (compound_statement "{\n                    \n            FUN_00352af0("../../gold/object.h",0x8c1,"local_symbol");\n          }" { (expression_statement "FUN_00352af0("../../gold/object.h",0x8c1,"local_symbol");" (call_expression "FUN_00352af0("../../gold/object.h",0x8c1,"local_symbol")" identifier (argument_list "("../../gold/object.h",0x8c1,"local_symbol")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""local_symbol"" " string_content ") ))) ;) })) (expression_statement "puVar22 = (undefined8 *)(plVar23[0x2c] + (ulong)uVar21 * 0x18);" (assignment_expression "puVar22 = (undefined8 *)(plVar23[0x2c] + (ulong)uVar21 * 0x18)" identifier = (cast_expression "(undefined8 *)(plVar23[0x2c] + (ulong)uVar21 * 0x18)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar23[0x2c] + (ulong)uVar21 * 0x18)" ( (binary_expression "plVar23[0x2c] + (ulong)uVar21 * 0x18" (subscript_expression "plVar23[0x2c]" identifier [ number_literal ]) + (binary_expression "(ulong)uVar21 * 0x18" (cast_expression "(ulong)uVar21" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) )))) ;) (expression_statement "uVar1 = *(uint *)(puVar22 + 1);" (assignment_expression "uVar1 = *(uint *)(puVar22 + 1)" identifier = (pointer_expression "*(uint *)(puVar22 + 1)" * (cast_expression "(uint *)(puVar22 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + 1)" ( (binary_expression "puVar22 + 1" identifier + number_literal) ))))) ;) (expression_statement "uVar6 = uVar1 & 0x7ffffff;" (assignment_expression "uVar6 = uVar1 & 0x7ffffff" identifier = (binary_expression "uVar1 & 0x7ffffff" identifier & number_literal)) ;) (expression_statement "uVar17 = uVar1 & 0x7ffffff;" (assignment_expression "uVar17 = uVar1 & 0x7ffffff" identifier = (binary_expression "uVar1 & 0x7ffffff" identifier & number_literal)) ;) (if_statement "if (((*(byte *)((long)puVar22 + 0xb) & 8) == 0) || (uVar6 == 0)) {\nLAB_0030fbb3:\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }" if (parenthesized_expression "(((*(byte *)((long)puVar22 + 0xb) & 8) == 0) || (uVar6 == 0))" ( (binary_expression "((*(byte *)((long)puVar22 + 0xb) & 8) == 0) || (uVar6 == 0)" (parenthesized_expression "((*(byte *)((long)puVar22 + 0xb) & 8) == 0)" ( (binary_expression "(*(byte *)((long)puVar22 + 0xb) & 8) == 0" (parenthesized_expression "(*(byte *)((long)puVar22 + 0xb) & 8)" ( (binary_expression "*(byte *)((long)puVar22 + 0xb) & 8" (pointer_expression "*(byte *)((long)puVar22 + 0xb)" * (cast_expression "(byte *)((long)puVar22 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar22 + 0xb)" ( (binary_expression "(long)puVar22 + 0xb" (cast_expression "(long)puVar22" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) || (parenthesized_expression "(uVar6 == 0)" ( (binary_expression "uVar6 == 0" identifier == number_literal) ))) )) (compound_statement "{\nLAB_0030fbb3:\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }" { (labeled_statement "LAB_0030fbb3:\n            puVar10 = (undefined8 *)0x0;" statement_identifier : (expression_statement "puVar10 = (undefined8 *)0x0;" (assignment_expression "puVar10 = (undefined8 *)0x0" identifier = (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (goto_statement "goto LAB_0030faa5;" goto statement_identifier ;) })) (if_statement "if ((ulong)(plVar23[0xb] - plVar23[10] >> 3) <= (ulong)uVar6) {\n                    \n                    \n            FUN_00352af0("../../gold/object.h",0x50b,"is_section_included");\n          }" if (parenthesized_expression "((ulong)(plVar23[0xb] - plVar23[10] >> 3) <= (ulong)uVar6)" ( (binary_expression "(ulong)(plVar23[0xb] - plVar23[10] >> 3) <= (ulong)uVar6" (call_expression "(ulong)(plVar23[0xb] - plVar23[10] >> 3)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(plVar23[0xb] - plVar23[10] >> 3)" ( (binary_expression "plVar23[0xb] - plVar23[10] >> 3" (binary_expression "plVar23[0xb] - plVar23[10]" (subscript_expression "plVar23[0xb]" identifier [ number_literal ]) - (subscript_expression "plVar23[10]" identifier [ number_literal ])) >> number_literal) ))) <= (cast_expression "(ulong)uVar6" ( (type_descriptor "ulong" type_identifier) ) identifier)) )) (compound_statement "{\n                    \n                    \n            FUN_00352af0("../../gold/object.h",0x50b,"is_section_included");\n          }" { (expression_statement "FUN_00352af0("../../gold/object.h",0x50b,"is_section_included");" (call_expression "FUN_00352af0("../../gold/object.h",0x50b,"is_section_included")" identifier (argument_list "("../../gold/object.h",0x50b,"is_section_included")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""is_section_included"" " string_content ") ))) ;) })) (if_statement "if (*(long *)(plVar23[10] + (ulong)uVar6 * 8) != 0) goto LAB_0030fbb3;" if (parenthesized_expression "(*(long *)(plVar23[10] + (ulong)uVar6 * 8) != 0)" ( (binary_expression "*(long *)(plVar23[10] + (ulong)uVar6 * 8) != 0" (pointer_expression "*(long *)(plVar23[10] + (ulong)uVar6 * 8)" * (cast_expression "(long *)(plVar23[10] + (ulong)uVar6 * 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar23[10] + (ulong)uVar6 * 8)" ( (binary_expression "plVar23[10] + (ulong)uVar6 * 8" (subscript_expression "plVar23[10]" identifier [ number_literal ]) + (binary_expression "(ulong)uVar6 * 8" (cast_expression "(ulong)uVar6" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) )))) != number_literal) )) (goto_statement "goto LAB_0030fbb3;" goto statement_identifier ;)) (expression_statement "cVar4 = FUN_00443530(*param_2,plVar23,uVar1 & 0x7ffffff);" (assignment_expression "cVar4 = FUN_00443530(*param_2,plVar23,uVar1 & 0x7ffffff)" identifier = (call_expression "FUN_00443530(*param_2,plVar23,uVar1 & 0x7ffffff)" identifier (argument_list "(*param_2,plVar23,uVar1 & 0x7ffffff)" ( (pointer_expression "*param_2" * identifier) , identifier , (binary_expression "uVar1 & 0x7ffffff" identifier & number_literal) )))) ;) (expression_statement "puVar10 = (undefined8 *)0x0;" (assignment_expression "puVar10 = (undefined8 *)0x0" identifier = (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (cVar4 != '\0') {\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }" if (parenthesized_expression "(cVar4 != '\0')" ( (binary_expression "cVar4 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }" { (expression_statement "puVar10 = (undefined8 *)0x0;" (assignment_expression "puVar10 = (undefined8 *)0x0" identifier = (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_0030faa5;" goto statement_identifier ;) })) (labeled_statement "LAB_0030fd25:\n          local_b0 = 0x80000000;" statement_identifier : (expression_statement "local_b0 = 0x80000000;" (assignment_expression "local_b0 = 0x80000000" identifier = number_literal) ;)) (expression_statement "local_b8 = 0xffffffff00000000;" (assignment_expression "local_b8 = 0xffffffff00000000" identifier = number_literal) ;) (expression_statement "local_a8 = 0;" (assignment_expression "local_a8 = 0" identifier = number_literal) ;) (if_statement "if (*(code **)(*plVar23 + 0x80) == FUN_0022c990) {\n                    \n            FUN_0022c800(local_58,plVar23 + 0x1f);\n          }\n          else {\n                    \n            (**(code **)(*plVar23 + 0x80))(local_58,plVar23,(int)param_2[6]);\n          }" if (parenthesized_expression "(*(code **)(*plVar23 + 0x80) == FUN_0022c990)" ( (binary_expression "*(code **)(*plVar23 + 0x80) == FUN_0022c990" (pointer_expression "*(code **)(*plVar23 + 0x80)" * (cast_expression "(code **)(*plVar23 + 0x80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar23 + 0x80)" ( (binary_expression "*plVar23 + 0x80" (pointer_expression "*plVar23" * identifier) + number_literal) )))) == identifier) )) (compound_statement "{\n                    \n            FUN_0022c800(local_58,plVar23 + 0x1f);\n          }" { (expression_statement "FUN_0022c800(local_58,plVar23 + 0x1f);" (call_expression "FUN_0022c800(local_58,plVar23 + 0x1f)" identifier (argument_list "(local_58,plVar23 + 0x1f)" ( identifier , (binary_expression "plVar23 + 0x1f" identifier + number_literal) ))) ;) }) (else_clause "else {\n                    \n            (**(code **)(*plVar23 + 0x80))(local_58,plVar23,(int)param_2[6]);\n          }" else (compound_statement "{\n                    \n            (**(code **)(*plVar23 + 0x80))(local_58,plVar23,(int)param_2[6]);\n          }" { (expression_statement "(**(code **)(*plVar23 + 0x80))(local_58,plVar23,(int)param_2[6]);" (call_expression "(**(code **)(*plVar23 + 0x80))(local_58,plVar23,(int)param_2[6])" (parenthesized_expression "(**(code **)(*plVar23 + 0x80))" ( (pointer_expression "**(code **)(*plVar23 + 0x80)" * (pointer_expression "*(code **)(*plVar23 + 0x80)" * (cast_expression "(code **)(*plVar23 + 0x80)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar23 + 0x80)" ( (binary_expression "*plVar23 + 0x80" (pointer_expression "*plVar23" * identifier) + number_literal) ))))) )) (argument_list "(local_58,plVar23,(int)param_2[6])" ( identifier , identifier , (cast_expression "(int)param_2[6]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_2[6]" identifier [ number_literal ])) ))) ;) }))) (expression_statement "bVar24 = false;" (assignment_expression "bVar24 = false" identifier = false) ;) (expression_statement "bVar26 = iVar8 == 0;" (assignment_expression "bVar26 = iVar8 == 0" identifier = (binary_expression "iVar8 == 0" identifier == number_literal)) ;) (if_statement "if (bVar26) {\n            lVar13 = 6;\n            pbVar18 = local_58[0];\n            pbVar19 = &DAT_00533552;\n            do {\n              if (lVar13 == 0) break;\n              lVar13 = lVar13 + -1;\n              bVar24 = *pbVar18 < *pbVar19;\n              bVar26 = *pbVar18 == *pbVar19;\n              pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n              pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n            } while (bVar26);\n            bVar25 = false;\n            bVar24 = (!bVar24 && !bVar26) == bVar24;\n            if (!bVar24) {\n              lVar13 = 7;\n              pbVar18 = local_58[0];\n              pbVar19 = (byte *)".zdebug";\n              do {\n                if (lVar13 == 0) break;\n                lVar13 = lVar13 + -1;\n                bVar25 = *pbVar18 < *pbVar19;\n                bVar24 = *pbVar18 == *pbVar19;\n                pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar13 = 0x11;\n                pbVar18 = local_58[0];\n                pbVar19 = (byte *)".gnu.linkonce.wi.";\n                do {\n                  if (lVar13 == 0) break;\n                  lVar13 = lVar13 + -1;\n                  bVar26 = *pbVar18 < *pbVar19;\n                  bVar24 = *pbVar18 == *pbVar19;\n                  pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  lVar13 = 5;\n                  pbVar18 = local_58[0];\n                  pbVar19 = (byte *)".line";\n                  do {\n                    if (lVar13 == 0) break;\n                    lVar13 = lVar13 + -1;\n                    bVar25 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    lVar13 = 5;\n                    pbVar18 = local_58[0];\n                    pbVar19 = (byte *)".stab";\n                    do {\n                      if (lVar13 == 0) break;\n                      lVar13 = lVar13 + -1;\n                      bVar26 = *pbVar18 < *pbVar19;\n                      bVar24 = *pbVar18 == *pbVar19;\n                      pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                      pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      lVar13 = 4;\n                      pbVar18 = local_58[0];\n                      pbVar19 = &DAT_0053357f;\n                      do {\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0030fdc0:\n                    \n            iVar8 = FUN_00397c50(plVar23,uVar17,local_58,&local_78);\n            local_a8 = 0;\n            if (local_78 != '\0') {\n              local_a8 = iVar8 + *(int *)(puVar22 + 2);\n            }\n            iVar8 = 1;\n          }\n          else {\n            if (iVar8 == 1) goto LAB_0030fdc0;\n            if (iVar8 == 3) {\nLAB_0030ff50:\n              lVar13 = param_2[2];\n              if (puVar10 == (undefined8 *)0x0) {\n                    \n                uVar9 = FUN_0039dd50(lVar13,uVar21);\n                uVar11 = gettext(\n                                "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                );\n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9,uVar21);\n              }\n              else {\n                    \n                FUN_004443d0(&local_78,puVar10);\n                uVar9 = CONCAT71(uStack_77,local_78);\n                uVar11 = gettext(\n                                "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                );\n                    \n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9);\n                if ((undefined1 *)CONCAT71(uStack_77,local_78) != auStack_68) {\n                  FUN_0049e340();\n                }\n              }\n                    \n              iVar8 = FUN_0039d3c0(lVar13,uVar21,local_e0,&local_e1);\n              if (iVar8 != 0) {\n                    \n                lVar15 = FUN_00397ec0(lVar13,iVar8,&local_dc);\n                if (local_dc != 0) {\n                    \n                  uVar9 = FUN_0039dd50(lVar13);\n                  uVar11 = gettext("  section group signature: \"%s\"");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n                if (lVar15 != 0) {\n                  uVar9 = *(undefined8 *)(lVar15 + 8);\n                  uVar11 = gettext("  prevailing definition is from %s");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n              }\n              iVar8 = 3;\n            }\n            else {\nLAB_00310006:\n              iVar8 = 2;\n            }\n            local_a8 = 0;\n          }" if (parenthesized_expression "(bVar26)" ( identifier )) (compound_statement "{\n            lVar13 = 6;\n            pbVar18 = local_58[0];\n            pbVar19 = &DAT_00533552;\n            do {\n              if (lVar13 == 0) break;\n              lVar13 = lVar13 + -1;\n              bVar24 = *pbVar18 < *pbVar19;\n              bVar26 = *pbVar18 == *pbVar19;\n              pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n              pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n            } while (bVar26);\n            bVar25 = false;\n            bVar24 = (!bVar24 && !bVar26) == bVar24;\n            if (!bVar24) {\n              lVar13 = 7;\n              pbVar18 = local_58[0];\n              pbVar19 = (byte *)".zdebug";\n              do {\n                if (lVar13 == 0) break;\n                lVar13 = lVar13 + -1;\n                bVar25 = *pbVar18 < *pbVar19;\n                bVar24 = *pbVar18 == *pbVar19;\n                pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar13 = 0x11;\n                pbVar18 = local_58[0];\n                pbVar19 = (byte *)".gnu.linkonce.wi.";\n                do {\n                  if (lVar13 == 0) break;\n                  lVar13 = lVar13 + -1;\n                  bVar26 = *pbVar18 < *pbVar19;\n                  bVar24 = *pbVar18 == *pbVar19;\n                  pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  lVar13 = 5;\n                  pbVar18 = local_58[0];\n                  pbVar19 = (byte *)".line";\n                  do {\n                    if (lVar13 == 0) break;\n                    lVar13 = lVar13 + -1;\n                    bVar25 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    lVar13 = 5;\n                    pbVar18 = local_58[0];\n                    pbVar19 = (byte *)".stab";\n                    do {\n                      if (lVar13 == 0) break;\n                      lVar13 = lVar13 + -1;\n                      bVar26 = *pbVar18 < *pbVar19;\n                      bVar24 = *pbVar18 == *pbVar19;\n                      pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                      pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      lVar13 = 4;\n                      pbVar18 = local_58[0];\n                      pbVar19 = &DAT_0053357f;\n                      do {\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0030fdc0:\n                    \n            iVar8 = FUN_00397c50(plVar23,uVar17,local_58,&local_78);\n            local_a8 = 0;\n            if (local_78 != '\0') {\n              local_a8 = iVar8 + *(int *)(puVar22 + 2);\n            }\n            iVar8 = 1;\n          }" { (expression_statement "lVar13 = 6;" (assignment_expression "lVar13 = 6" identifier = number_literal) ;) (expression_statement "pbVar18 = local_58[0];" (assignment_expression "pbVar18 = local_58[0]" identifier = (subscript_expression "local_58[0]" identifier [ number_literal ])) ;) (expression_statement "pbVar19 = &DAT_00533552;" (assignment_expression "pbVar19 = &DAT_00533552" identifier = (pointer_expression "&DAT_00533552" & identifier)) ;) (do_statement "do {\n              if (lVar13 == 0) break;\n              lVar13 = lVar13 + -1;\n              bVar24 = *pbVar18 < *pbVar19;\n              bVar26 = *pbVar18 == *pbVar19;\n              pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n              pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n            } while (bVar26);" do (compound_statement "{\n              if (lVar13 == 0) break;\n              lVar13 = lVar13 + -1;\n              bVar24 = *pbVar18 < *pbVar19;\n              bVar26 = *pbVar18 == *pbVar19;\n              pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n              pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n            }" { (if_statement "if (lVar13 == 0) break;" if (parenthesized_expression "(lVar13 == 0)" ( (binary_expression "lVar13 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar13 = lVar13 + -1;" (assignment_expression "lVar13 = lVar13 + -1" identifier = (binary_expression "lVar13 + -1" identifier + number_literal)) ;) (expression_statement "bVar24 = *pbVar18 < *pbVar19;" (assignment_expression "bVar24 = *pbVar18 < *pbVar19" identifier = (binary_expression "*pbVar18 < *pbVar19" (pointer_expression "*pbVar18" * identifier) < (pointer_expression "*pbVar19" * identifier))) ;) (expression_statement "bVar26 = *pbVar18 == *pbVar19;" (assignment_expression "bVar26 = *pbVar18 == *pbVar19" identifier = (binary_expression "*pbVar18 == *pbVar19" (pointer_expression "*pbVar18" * identifier) == (pointer_expression "*pbVar19" * identifier))) ;) (expression_statement "pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1" identifier = (binary_expression "pbVar18 + (ulong)bVar27 * -2 + 1" (binary_expression "pbVar18 + (ulong)bVar27 * -2" identifier + (binary_expression "(ulong)bVar27 * -2" (cast_expression "(ulong)bVar27" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;" (assignment_expression "pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1" identifier = (binary_expression "pbVar19 + (ulong)bVar27 * -2 + 1" (binary_expression "pbVar19 + (ulong)bVar27 * -2" identifier + (binary_expression "(ulong)bVar27 * -2" (cast_expression "(ulong)bVar27" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar26)" ( identifier )) ;) (expression_statement "bVar25 = false;" (assignment_expression "bVar25 = false" identifier = false) ;) (expression_statement "bVar24 = (!bVar24 && !bVar26) == bVar24;" (assignment_expression "bVar24 = (!bVar24 && !bVar26) == bVar24" identifier = (binary_expression "(!bVar24 && !bVar26) == bVar24" (parenthesized_expression "(!bVar24 && !bVar26)" ( (binary_expression "!bVar24 && !bVar26" (unary_expression "!bVar24" ! identifier) && (unary_expression "!bVar26" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar24) {\n              lVar13 = 7;\n              pbVar18 = local_58[0];\n              pbVar19 = (byte *)".zdebug";\n              do {\n                if (lVar13 == 0) break;\n                lVar13 = lVar13 + -1;\n                bVar25 = *pbVar18 < *pbVar19;\n                bVar24 = *pbVar18 == *pbVar19;\n                pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar13 = 0x11;\n                pbVar18 = local_58[0];\n                pbVar19 = (byte *)".gnu.linkonce.wi.";\n                do {\n                  if (lVar13 == 0) break;\n                  lVar13 = lVar13 + -1;\n                  bVar26 = *pbVar18 < *pbVar19;\n                  bVar24 = *pbVar18 == *pbVar19;\n                  pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  lVar13 = 5;\n                  pbVar18 = local_58[0];\n                  pbVar19 = (byte *)".line";\n                  do {\n                    if (lVar13 == 0) break;\n                    lVar13 = lVar13 + -1;\n                    bVar25 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    lVar13 = 5;\n                    pbVar18 = local_58[0];\n                    pbVar19 = (byte *)".stab";\n                    do {\n                      if (lVar13 == 0) break;\n                      lVar13 = lVar13 + -1;\n                      bVar26 = *pbVar18 < *pbVar19;\n                      bVar24 = *pbVar18 == *pbVar19;\n                      pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                      pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      lVar13 = 4;\n                      pbVar18 = local_58[0];\n                      pbVar19 = &DAT_0053357f;\n                      do {\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }\n                }\n              }\n            }" if (parenthesized_expression "(!bVar24)" ( (unary_expression "!bVar24" ! identifier) )) (compound_statement "{\n              lVar13 = 7;\n              pbVar18 = local_58[0];\n              pbVar19 = (byte *)".zdebug";\n              do {\n                if (lVar13 == 0) break;\n                lVar13 = lVar13 + -1;\n                bVar25 = *pbVar18 < *pbVar19;\n                bVar24 = *pbVar18 == *pbVar19;\n                pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar13 = 0x11;\n                pbVar18 = local_58[0];\n                pbVar19 = (byte *)".gnu.linkonce.wi.";\n                do {\n                  if (lVar13 == 0) break;\n                  lVar13 = lVar13 + -1;\n                  bVar26 = *pbVar18 < *pbVar19;\n                  bVar24 = *pbVar18 == *pbVar19;\n                  pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  lVar13 = 5;\n                  pbVar18 = local_58[0];\n                  pbVar19 = (byte *)".line";\n                  do {\n                    if (lVar13 == 0) break;\n                    lVar13 = lVar13 + -1;\n                    bVar25 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    lVar13 = 5;\n                    pbVar18 = local_58[0];\n                    pbVar19 = (byte *)".stab";\n                    do {\n                      if (lVar13 == 0) break;\n                      lVar13 = lVar13 + -1;\n                      bVar26 = *pbVar18 < *pbVar19;\n                      bVar24 = *pbVar18 == *pbVar19;\n                      pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                      pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      lVar13 = 4;\n                      pbVar18 = local_58[0];\n                      pbVar19 = &DAT_0053357f;\n                      do {\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }\n                }\n              }\n            }" { (expression_statement "lVar13 = 7;" (assignment_expression "lVar13 = 7" identifier = number_literal) ;) (expression_statement "pbVar18 = local_58[0];" (assignment_expression "pbVar18 = local_58[0]" identifier = (subscript_expression "local_58[0]" identifier [ number_literal ])) ;) (expression_statement "pbVar19 = (byte *)".zdebug";" (assignment_expression "pbVar19 = (byte *)".zdebug"" identifier = (cast_expression "(byte *)".zdebug"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".zdebug"" " string_content "))) ;) (do_statement "do {\n                if (lVar13 == 0) break;\n                lVar13 = lVar13 + -1;\n                bVar25 = *pbVar18 < *pbVar19;\n                bVar24 = *pbVar18 == *pbVar19;\n                pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);" do (compound_statement "{\n                if (lVar13 == 0) break;\n                lVar13 = lVar13 + -1;\n                bVar25 = *pbVar18 < *pbVar19;\n                bVar24 = *pbVar18 == *pbVar19;\n                pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n              }" { (if_statement "if (lVar13 == 0) break;" if (parenthesized_expression "(lVar13 == 0)" ( (binary_expression "lVar13 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar13 = lVar13 + -1;" (assignment_expression "lVar13 = lVar13 + -1" identifier = (binary_expression "lVar13 + -1" identifier + number_literal)) ;) (expression_statement "bVar25 = *pbVar18 < *pbVar19;" (assignment_expression "bVar25 = *pbVar18 < *pbVar19" identifier = (binary_expression "*pbVar18 < *pbVar19" (pointer_expression "*pbVar18" * identifier) < (pointer_expression "*pbVar19" * identifier))) ;) (expression_statement "bVar24 = *pbVar18 == *pbVar19;" (assignment_expression "bVar24 = *pbVar18 == *pbVar19" identifier = (binary_expression "*pbVar18 == *pbVar19" (pointer_expression "*pbVar18" * identifier) == (pointer_expression "*pbVar19" * identifier))) ;) (expression_statement "pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1" identifier = (binary_expression "pbVar18 + (ulong)bVar27 * -2 + 1" (binary_expression "pbVar18 + (ulong)bVar27 * -2" identifier + (binary_expression "(ulong)bVar27 * -2" (cast_expression "(ulong)bVar27" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;" (assignment_expression "pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1" identifier = (binary_expression "pbVar19 + (ulong)bVar27 * -2 + 1" (binary_expression "pbVar19 + (ulong)bVar27 * -2" identifier + (binary_expression "(ulong)bVar27 * -2" (cast_expression "(ulong)bVar27" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar24)" ( identifier )) ;) (expression_statement "bVar26 = false;" (assignment_expression "bVar26 = false" identifier = false) ;) (expression_statement "bVar24 = (!bVar25 && !bVar24) == bVar25;" (assignment_expression "bVar24 = (!bVar25 && !bVar24) == bVar25" identifier = (binary_expression "(!bVar25 && !bVar24) == bVar25" (parenthesized_expression "(!bVar25 && !bVar24)" ( (binary_expression "!bVar25 && !bVar24" (unary_expression "!bVar25" ! identifier) && (unary_expression "!bVar24" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar24) {\n                lVar13 = 0x11;\n                pbVar18 = local_58[0];\n                pbVar19 = (byte *)".gnu.linkonce.wi.";\n                do {\n                  if (lVar13 == 0) break;\n                  lVar13 = lVar13 + -1;\n                  bVar26 = *pbVar18 < *pbVar19;\n                  bVar24 = *pbVar18 == *pbVar19;\n                  pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  lVar13 = 5;\n                  pbVar18 = local_58[0];\n                  pbVar19 = (byte *)".line";\n                  do {\n                    if (lVar13 == 0) break;\n                    lVar13 = lVar13 + -1;\n                    bVar25 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    lVar13 = 5;\n                    pbVar18 = local_58[0];\n                    pbVar19 = (byte *)".stab";\n                    do {\n                      if (lVar13 == 0) break;\n                      lVar13 = lVar13 + -1;\n                      bVar26 = *pbVar18 < *pbVar19;\n                      bVar24 = *pbVar18 == *pbVar19;\n                      pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                      pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      lVar13 = 4;\n                      pbVar18 = local_58[0];\n                      pbVar19 = &DAT_0053357f;\n                      do {\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }\n                }\n              }" if (parenthesized_expression "(!bVar24)" ( (unary_expression "!bVar24" ! identifier) )) (compound_statement "{\n                lVar13 = 0x11;\n                pbVar18 = local_58[0];\n                pbVar19 = (byte *)".gnu.linkonce.wi.";\n                do {\n                  if (lVar13 == 0) break;\n                  lVar13 = lVar13 + -1;\n                  bVar26 = *pbVar18 < *pbVar19;\n                  bVar24 = *pbVar18 == *pbVar19;\n                  pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  lVar13 = 5;\n                  pbVar18 = local_58[0];\n                  pbVar19 = (byte *)".line";\n                  do {\n                    if (lVar13 == 0) break;\n                    lVar13 = lVar13 + -1;\n                    bVar25 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    lVar13 = 5;\n                    pbVar18 = local_58[0];\n                    pbVar19 = (byte *)".stab";\n                    do {\n                      if (lVar13 == 0) break;\n                      lVar13 = lVar13 + -1;\n                      bVar26 = *pbVar18 < *pbVar19;\n                      bVar24 = *pbVar18 == *pbVar19;\n                      pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                      pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      lVar13 = 4;\n                      pbVar18 = local_58[0];\n                      pbVar19 = &DAT_0053357f;\n                      do {\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }\n                }\n              }" { (expression_statement "lVar13 = 0x11;" (assignment_expression "lVar13 = 0x11" identifier = number_literal) ;) (expression_statement "pbVar18 = local_58[0];" (assignment_expression "pbVar18 = local_58[0]" identifier = (subscript_expression "local_58[0]" identifier [ number_literal ])) ;) (expression_statement "pbVar19 = (byte *)".gnu.linkonce.wi.";" (assignment_expression "pbVar19 = (byte *)".gnu.linkonce.wi."" identifier = (cast_expression "(byte *)".gnu.linkonce.wi."" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".gnu.linkonce.wi."" " string_content "))) ;) (do_statement "do {\n                  if (lVar13 == 0) break;\n                  lVar13 = lVar13 + -1;\n                  bVar26 = *pbVar18 < *pbVar19;\n                  bVar24 = *pbVar18 == *pbVar19;\n                  pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);" do (compound_statement "{\n                  if (lVar13 == 0) break;\n                  lVar13 = lVar13 + -1;\n                  bVar26 = *pbVar18 < *pbVar19;\n                  bVar24 = *pbVar18 == *pbVar19;\n                  pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                }" { (if_statement "if (lVar13 == 0) break;" if (parenthesized_expression "(lVar13 == 0)" ( (binary_expression "lVar13 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar13 = lVar13 + -1;" (assignment_expression "lVar13 = lVar13 + -1" identifier = (binary_expression "lVar13 + -1" identifier + number_literal)) ;) (expression_statement "bVar26 = *pbVar18 < *pbVar19;" (assignment_expression "bVar26 = *pbVar18 < *pbVar19" identifier = (binary_expression "*pbVar18 < *pbVar19" (pointer_expression "*pbVar18" * identifier) < (pointer_expression "*pbVar19" * identifier))) ;) (expression_statement "bVar24 = *pbVar18 == *pbVar19;" (assignment_expression "bVar24 = *pbVar18 == *pbVar19" identifier = (binary_expression "*pbVar18 == *pbVar19" (pointer_expression "*pbVar18" * identifier) == (pointer_expression "*pbVar19" * identifier))) ;) (expression_statement "pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1" identifier = (binary_expression "pbVar18 + (ulong)bVar27 * -2 + 1" (binary_expression "pbVar18 + (ulong)bVar27 * -2" identifier + (binary_expression "(ulong)bVar27 * -2" (cast_expression "(ulong)bVar27" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;" (assignment_expression "pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1" identifier = (binary_expression "pbVar19 + (ulong)bVar27 * -2 + 1" (binary_expression "pbVar19 + (ulong)bVar27 * -2" identifier + (binary_expression "(ulong)bVar27 * -2" (cast_expression "(ulong)bVar27" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar24)" ( identifier )) ;) (expression_statement "bVar25 = false;" (assignment_expression "bVar25 = false" identifier = false) ;) (expression_statement "bVar24 = (!bVar26 && !bVar24) == bVar26;" (assignment_expression "bVar24 = (!bVar26 && !bVar24) == bVar26" identifier = (binary_expression "(!bVar26 && !bVar24) == bVar26" (parenthesized_expression "(!bVar26 && !bVar24)" ( (binary_expression "!bVar26 && !bVar24" (unary_expression "!bVar26" ! identifier) && (unary_expression "!bVar24" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar24) {\n                  lVar13 = 5;\n                  pbVar18 = local_58[0];\n                  pbVar19 = (byte *)".line";\n                  do {\n                    if (lVar13 == 0) break;\n                    lVar13 = lVar13 + -1;\n                    bVar25 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    lVar13 = 5;\n                    pbVar18 = local_58[0];\n                    pbVar19 = (byte *)".stab";\n                    do {\n                      if (lVar13 == 0) break;\n                      lVar13 = lVar13 + -1;\n                      bVar26 = *pbVar18 < *pbVar19;\n                      bVar24 = *pbVar18 == *pbVar19;\n                      pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                      pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      lVar13 = 4;\n                      pbVar18 = local_58[0];\n                      pbVar19 = &DAT_0053357f;\n                      do {\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }\n                }" if (parenthesized_expression "(!bVar24)" ( (unary_expression "!bVar24" ! identifier) )) (compound_statement "{\n                  lVar13 = 5;\n                  pbVar18 = local_58[0];\n                  pbVar19 = (byte *)".line";\n                  do {\n                    if (lVar13 == 0) break;\n                    lVar13 = lVar13 + -1;\n                    bVar25 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    lVar13 = 5;\n                    pbVar18 = local_58[0];\n                    pbVar19 = (byte *)".stab";\n                    do {\n                      if (lVar13 == 0) break;\n                      lVar13 = lVar13 + -1;\n                      bVar26 = *pbVar18 < *pbVar19;\n                      bVar24 = *pbVar18 == *pbVar19;\n                      pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                      pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      lVar13 = 4;\n                      pbVar18 = local_58[0];\n                      pbVar19 = &DAT_0053357f;\n                      do {\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }\n                }" { (expression_statement "lVar13 = 5;" (assignment_expression "lVar13 = 5" identifier = number_literal) ;) (expression_statement "pbVar18 = local_58[0];" (assignment_expression "pbVar18 = local_58[0]" identifier = (subscript_expression "local_58[0]" identifier [ number_literal ])) ;) (expression_statement "pbVar19 = (byte *)".line";" (assignment_expression "pbVar19 = (byte *)".line"" identifier = (cast_expression "(byte *)".line"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".line"" " string_content "))) ;) (do_statement "do {\n                    if (lVar13 == 0) break;\n                    lVar13 = lVar13 + -1;\n                    bVar25 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);" do (compound_statement "{\n                    if (lVar13 == 0) break;\n                    lVar13 = lVar13 + -1;\n                    bVar25 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  }" { (if_statement "if (lVar13 == 0) break;" if (parenthesized_expression "(lVar13 == 0)" ( (binary_expression "lVar13 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar13 = lVar13 + -1;" (assignment_expression "lVar13 = lVar13 + -1" identifier = (binary_expression "lVar13 + -1" identifier + number_literal)) ;) (expression_statement "bVar25 = *pbVar18 < *pbVar19;" (assignment_expression "bVar25 = *pbVar18 < *pbVar19" identifier = (binary_expression "*pbVar18 < *pbVar19" (pointer_expression "*pbVar18" * identifier) < (pointer_expression "*pbVar19" * identifier))) ;) (expression_statement "bVar24 = *pbVar18 == *pbVar19;" (assignment_expression "bVar24 = *pbVar18 == *pbVar19" identifier = (binary_expression "*pbVar18 == *pbVar19" (pointer_expression "*pbVar18" * identifier) == (pointer_expression "*pbVar19" * identifier))) ;) (expression_statement "pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1" identifier = (binary_expression "pbVar18 + (ulong)bVar27 * -2 + 1" (binary_expression "pbVar18 + (ulong)bVar27 * -2" identifier + (binary_expression "(ulong)bVar27 * -2" (cast_expression "(ulong)bVar27" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;" (assignment_expression "pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1" identifier = (binary_expression "pbVar19 + (ulong)bVar27 * -2 + 1" (binary_expression "pbVar19 + (ulong)bVar27 * -2" identifier + (binary_expression "(ulong)bVar27 * -2" (cast_expression "(ulong)bVar27" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar24)" ( identifier )) ;) (expression_statement "bVar26 = false;" (assignment_expression "bVar26 = false" identifier = false) ;) (expression_statement "bVar24 = (!bVar25 && !bVar24) == bVar25;" (assignment_expression "bVar24 = (!bVar25 && !bVar24) == bVar25" identifier = (binary_expression "(!bVar25 && !bVar24) == bVar25" (parenthesized_expression "(!bVar25 && !bVar24)" ( (binary_expression "!bVar25 && !bVar24" (unary_expression "!bVar25" ! identifier) && (unary_expression "!bVar24" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar24) {\n                    lVar13 = 5;\n                    pbVar18 = local_58[0];\n                    pbVar19 = (byte *)".stab";\n                    do {\n                      if (lVar13 == 0) break;\n                      lVar13 = lVar13 + -1;\n                      bVar26 = *pbVar18 < *pbVar19;\n                      bVar24 = *pbVar18 == *pbVar19;\n                      pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                      pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      lVar13 = 4;\n                      pbVar18 = local_58[0];\n                      pbVar19 = &DAT_0053357f;\n                      do {\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }" if (parenthesized_expression "(!bVar24)" ( (unary_expression "!bVar24" ! identifier) )) (compound_statement "{\n                    lVar13 = 5;\n                    pbVar18 = local_58[0];\n                    pbVar19 = (byte *)".stab";\n                    do {\n                      if (lVar13 == 0) break;\n                      lVar13 = lVar13 + -1;\n                      bVar26 = *pbVar18 < *pbVar19;\n                      bVar24 = *pbVar18 == *pbVar19;\n                      pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                      pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      lVar13 = 4;\n                      pbVar18 = local_58[0];\n                      pbVar19 = &DAT_0053357f;\n                      do {\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }" { (expression_statement "lVar13 = 5;" (assignment_expression "lVar13 = 5" identifier = number_literal) ;) (expression_statement "pbVar18 = local_58[0];" (assignment_expression "pbVar18 = local_58[0]" identifier = (subscript_expression "local_58[0]" identifier [ number_literal ])) ;) (expression_statement "pbVar19 = (byte *)".stab";" (assignment_expression "pbVar19 = (byte *)".stab"" identifier = (cast_expression "(byte *)".stab"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".stab"" " string_content "))) ;) (do_statement "do {\n                      if (lVar13 == 0) break;\n                      lVar13 = lVar13 + -1;\n                      bVar26 = *pbVar18 < *pbVar19;\n                      bVar24 = *pbVar18 == *pbVar19;\n                      pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                      pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                    } while (bVar24);" do (compound_statement "{\n                      if (lVar13 == 0) break;\n                      lVar13 = lVar13 + -1;\n                      bVar26 = *pbVar18 < *pbVar19;\n                      bVar24 = *pbVar18 == *pbVar19;\n                      pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                      pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                    }" { (if_statement "if (lVar13 == 0) break;" if (parenthesized_expression "(lVar13 == 0)" ( (binary_expression "lVar13 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar13 = lVar13 + -1;" (assignment_expression "lVar13 = lVar13 + -1" identifier = (binary_expression "lVar13 + -1" identifier + number_literal)) ;) (expression_statement "bVar26 = *pbVar18 < *pbVar19;" (assignment_expression "bVar26 = *pbVar18 < *pbVar19" identifier = (binary_expression "*pbVar18 < *pbVar19" (pointer_expression "*pbVar18" * identifier) < (pointer_expression "*pbVar19" * identifier))) ;) (expression_statement "bVar24 = *pbVar18 == *pbVar19;" (assignment_expression "bVar24 = *pbVar18 == *pbVar19" identifier = (binary_expression "*pbVar18 == *pbVar19" (pointer_expression "*pbVar18" * identifier) == (pointer_expression "*pbVar19" * identifier))) ;) (expression_statement "pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1" identifier = (binary_expression "pbVar18 + (ulong)bVar27 * -2 + 1" (binary_expression "pbVar18 + (ulong)bVar27 * -2" identifier + (binary_expression "(ulong)bVar27 * -2" (cast_expression "(ulong)bVar27" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;" (assignment_expression "pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1" identifier = (binary_expression "pbVar19 + (ulong)bVar27 * -2 + 1" (binary_expression "pbVar19 + (ulong)bVar27 * -2" identifier + (binary_expression "(ulong)bVar27 * -2" (cast_expression "(ulong)bVar27" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar24)" ( identifier )) ;) (expression_statement "bVar25 = false;" (assignment_expression "bVar25 = false" identifier = false) ;) (expression_statement "bVar24 = (!bVar26 && !bVar24) == bVar26;" (assignment_expression "bVar24 = (!bVar26 && !bVar24) == bVar26" identifier = (binary_expression "(!bVar26 && !bVar24) == bVar26" (parenthesized_expression "(!bVar26 && !bVar24)" ( (binary_expression "!bVar26 && !bVar24" (unary_expression "!bVar26" ! identifier) && (unary_expression "!bVar24" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar24) {\n                      lVar13 = 4;\n                      pbVar18 = local_58[0];\n                      pbVar19 = &DAT_0053357f;\n                      do {\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }" if (parenthesized_expression "(!bVar24)" ( (unary_expression "!bVar24" ! identifier) )) (compound_statement "{\n                      lVar13 = 4;\n                      pbVar18 = local_58[0];\n                      pbVar19 = &DAT_0053357f;\n                      do {\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }" { (expression_statement "lVar13 = 4;" (assignment_expression "lVar13 = 4" identifier = number_literal) ;) (expression_statement "pbVar18 = local_58[0];" (assignment_expression "pbVar18 = local_58[0]" identifier = (subscript_expression "local_58[0]" identifier [ number_literal ])) ;) (expression_statement "pbVar19 = &DAT_0053357f;" (assignment_expression "pbVar19 = &DAT_0053357f" identifier = (pointer_expression "&DAT_0053357f" & identifier)) ;) (do_statement "do {\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      } while (bVar24);" do (compound_statement "{\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      }" { (if_statement "if (lVar13 == 0) break;" if (parenthesized_expression "(lVar13 == 0)" ( (binary_expression "lVar13 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar13 = lVar13 + -1;" (assignment_expression "lVar13 = lVar13 + -1" identifier = (binary_expression "lVar13 + -1" identifier + number_literal)) ;) (expression_statement "bVar25 = *pbVar18 < *pbVar19;" (assignment_expression "bVar25 = *pbVar18 < *pbVar19" identifier = (binary_expression "*pbVar18 < *pbVar19" (pointer_expression "*pbVar18" * identifier) < (pointer_expression "*pbVar19" * identifier))) ;) (expression_statement "bVar24 = *pbVar18 == *pbVar19;" (assignment_expression "bVar24 = *pbVar18 == *pbVar19" identifier = (binary_expression "*pbVar18 == *pbVar19" (pointer_expression "*pbVar18" * identifier) == (pointer_expression "*pbVar19" * identifier))) ;) (expression_statement "pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1" identifier = (binary_expression "pbVar18 + (ulong)bVar27 * -2 + 1" (binary_expression "pbVar18 + (ulong)bVar27 * -2" identifier + (binary_expression "(ulong)bVar27 * -2" (cast_expression "(ulong)bVar27" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;" (assignment_expression "pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1" identifier = (binary_expression "pbVar19 + (ulong)bVar27 * -2 + 1" (binary_expression "pbVar19 + (ulong)bVar27 * -2" identifier + (binary_expression "(ulong)bVar27 * -2" (cast_expression "(ulong)bVar27" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar24)" ( identifier )) ;) (expression_statement "bVar26 = false;" (assignment_expression "bVar26 = false" identifier = false) ;) (expression_statement "bVar24 = (!bVar25 && !bVar24) == bVar25;" (assignment_expression "bVar24 = (!bVar25 && !bVar24) == bVar25" identifier = (binary_expression "(!bVar25 && !bVar24) == bVar25" (parenthesized_expression "(!bVar25 && !bVar24)" ( (binary_expression "!bVar25 && !bVar24" (unary_expression "!bVar25" ! identifier) && (unary_expression "!bVar24" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar24) {\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }" if (parenthesized_expression "(!bVar24)" ( (unary_expression "!bVar24" ! identifier) )) (compound_statement "{\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }" { (expression_statement "lVar13 = 10;" (assignment_expression "lVar13 = 10" identifier = number_literal) ;) (expression_statement "pbVar18 = local_58[0];" (assignment_expression "pbVar18 = local_58[0]" identifier = (subscript_expression "local_58[0]" identifier [ number_literal ])) ;) (expression_statement "pbVar19 = (byte *)".eh_frame";" (assignment_expression "pbVar19 = (byte *)".eh_frame"" identifier = (cast_expression "(byte *)".eh_frame"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".eh_frame"" " string_content "))) ;) (do_statement "do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);" do (compound_statement "{\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        }" { (if_statement "if (lVar13 == 0) break;" if (parenthesized_expression "(lVar13 == 0)" ( (binary_expression "lVar13 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar13 = lVar13 + -1;" (assignment_expression "lVar13 = lVar13 + -1" identifier = (binary_expression "lVar13 + -1" identifier + number_literal)) ;) (expression_statement "bVar26 = *pbVar18 < *pbVar19;" (assignment_expression "bVar26 = *pbVar18 < *pbVar19" identifier = (binary_expression "*pbVar18 < *pbVar19" (pointer_expression "*pbVar18" * identifier) < (pointer_expression "*pbVar19" * identifier))) ;) (expression_statement "bVar24 = *pbVar18 == *pbVar19;" (assignment_expression "bVar24 = *pbVar18 == *pbVar19" identifier = (binary_expression "*pbVar18 == *pbVar19" (pointer_expression "*pbVar18" * identifier) == (pointer_expression "*pbVar19" * identifier))) ;) (expression_statement "pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1" identifier = (binary_expression "pbVar18 + (ulong)bVar27 * -2 + 1" (binary_expression "pbVar18 + (ulong)bVar27 * -2" identifier + (binary_expression "(ulong)bVar27 * -2" (cast_expression "(ulong)bVar27" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;" (assignment_expression "pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1" identifier = (binary_expression "pbVar19 + (ulong)bVar27 * -2 + 1" (binary_expression "pbVar19 + (ulong)bVar27 * -2" identifier + (binary_expression "(ulong)bVar27 * -2" (cast_expression "(ulong)bVar27" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar24)" ( identifier )) ;) (expression_statement "bVar25 = false;" (assignment_expression "bVar25 = false" identifier = false) ;) (expression_statement "bVar24 = (!bVar26 && !bVar24) == bVar26;" (assignment_expression "bVar24 = (!bVar26 && !bVar24) == bVar26" identifier = (binary_expression "(!bVar26 && !bVar24) == bVar26" (parenthesized_expression "(!bVar26 && !bVar24)" ( (binary_expression "!bVar26 && !bVar24" (unary_expression "!bVar26" ! identifier) && (unary_expression "!bVar24" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }" if (parenthesized_expression "(!bVar24)" ( (unary_expression "!bVar24" ! identifier) )) (compound_statement "{\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }" { (expression_statement "lVar13 = 0x12;" (assignment_expression "lVar13 = 0x12" identifier = number_literal) ;) (expression_statement "pbVar18 = local_58[0];" (assignment_expression "pbVar18 = local_58[0]" identifier = (subscript_expression "local_58[0]" identifier [ number_literal ])) ;) (expression_statement "pbVar19 = (byte *)".gcc_except_table";" (assignment_expression "pbVar19 = (byte *)".gcc_except_table"" identifier = (cast_expression "(byte *)".gcc_except_table"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal "".gcc_except_table"" " string_content "))) ;) (do_statement "do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);" do (compound_statement "{\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          }" { (if_statement "if (lVar13 == 0) break;" if (parenthesized_expression "(lVar13 == 0)" ( (binary_expression "lVar13 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar13 = lVar13 + -1;" (assignment_expression "lVar13 = lVar13 + -1" identifier = (binary_expression "lVar13 + -1" identifier + number_literal)) ;) (expression_statement "bVar25 = *pbVar18 < *pbVar19;" (assignment_expression "bVar25 = *pbVar18 < *pbVar19" identifier = (binary_expression "*pbVar18 < *pbVar19" (pointer_expression "*pbVar18" * identifier) < (pointer_expression "*pbVar19" * identifier))) ;) (expression_statement "bVar24 = *pbVar18 == *pbVar19;" (assignment_expression "bVar24 = *pbVar18 == *pbVar19" identifier = (binary_expression "*pbVar18 == *pbVar19" (pointer_expression "*pbVar18" * identifier) == (pointer_expression "*pbVar19" * identifier))) ;) (expression_statement "pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1" identifier = (binary_expression "pbVar18 + (ulong)bVar27 * -2 + 1" (binary_expression "pbVar18 + (ulong)bVar27 * -2" identifier + (binary_expression "(ulong)bVar27 * -2" (cast_expression "(ulong)bVar27" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;" (assignment_expression "pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1" identifier = (binary_expression "pbVar19 + (ulong)bVar27 * -2 + 1" (binary_expression "pbVar19 + (ulong)bVar27 * -2" identifier + (binary_expression "(ulong)bVar27 * -2" (cast_expression "(ulong)bVar27" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar24)" ( identifier )) ;) (if_statement "if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;" if (parenthesized_expression "((!bVar25 && !bVar24) != bVar25)" ( (binary_expression "(!bVar25 && !bVar24) != bVar25" (parenthesized_expression "(!bVar25 && !bVar24)" ( (binary_expression "!bVar25 && !bVar24" (unary_expression "!bVar25" ! identifier) && (unary_expression "!bVar24" ! identifier)) )) != identifier) )) (goto_statement "goto LAB_0030ff50;" goto statement_identifier ;)) })) (goto_statement "goto LAB_00310006;" goto statement_identifier ;) })) })) })) })) })) })) (labeled_statement "LAB_0030fdc0:\n                    \n            iVar8 = FUN_00397c50(plVar23,uVar17,local_58,&local_78);" statement_identifier : (expression_statement "iVar8 = FUN_00397c50(plVar23,uVar17,local_58,&local_78);" (assignment_expression "iVar8 = FUN_00397c50(plVar23,uVar17,local_58,&local_78)" identifier = (call_expression "FUN_00397c50(plVar23,uVar17,local_58,&local_78)" identifier (argument_list "(plVar23,uVar17,local_58,&local_78)" ( identifier , identifier , identifier , (pointer_expression "&local_78" & identifier) )))) ;)) (expression_statement "local_a8 = 0;" (assignment_expression "local_a8 = 0" identifier = number_literal) ;) (if_statement "if (local_78 != '\0') {\n              local_a8 = iVar8 + *(int *)(puVar22 + 2);\n            }" if (parenthesized_expression "(local_78 != '\0')" ( (binary_expression "local_78 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              local_a8 = iVar8 + *(int *)(puVar22 + 2);\n            }" { (expression_statement "local_a8 = iVar8 + *(int *)(puVar22 + 2);" (assignment_expression "local_a8 = iVar8 + *(int *)(puVar22 + 2)" identifier = (binary_expression "iVar8 + *(int *)(puVar22 + 2)" identifier + (pointer_expression "*(int *)(puVar22 + 2)" * (cast_expression "(int *)(puVar22 + 2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar22 + 2)" ( (binary_expression "puVar22 + 2" identifier + number_literal) )))))) ;) })) (expression_statement "iVar8 = 1;" (assignment_expression "iVar8 = 1" identifier = number_literal) ;) }) (else_clause "else {\n            if (iVar8 == 1) goto LAB_0030fdc0;\n            if (iVar8 == 3) {\nLAB_0030ff50:\n              lVar13 = param_2[2];\n              if (puVar10 == (undefined8 *)0x0) {\n                    \n                uVar9 = FUN_0039dd50(lVar13,uVar21);\n                uVar11 = gettext(\n                                "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                );\n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9,uVar21);\n              }\n              else {\n                    \n                FUN_004443d0(&local_78,puVar10);\n                uVar9 = CONCAT71(uStack_77,local_78);\n                uVar11 = gettext(\n                                "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                );\n                    \n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9);\n                if ((undefined1 *)CONCAT71(uStack_77,local_78) != auStack_68) {\n                  FUN_0049e340();\n                }\n              }\n                    \n              iVar8 = FUN_0039d3c0(lVar13,uVar21,local_e0,&local_e1);\n              if (iVar8 != 0) {\n                    \n                lVar15 = FUN_00397ec0(lVar13,iVar8,&local_dc);\n                if (local_dc != 0) {\n                    \n                  uVar9 = FUN_0039dd50(lVar13);\n                  uVar11 = gettext("  section group signature: \"%s\"");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n                if (lVar15 != 0) {\n                  uVar9 = *(undefined8 *)(lVar15 + 8);\n                  uVar11 = gettext("  prevailing definition is from %s");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n              }\n              iVar8 = 3;\n            }\n            else {\nLAB_00310006:\n              iVar8 = 2;\n            }\n            local_a8 = 0;\n          }" else (compound_statement "{\n            if (iVar8 == 1) goto LAB_0030fdc0;\n            if (iVar8 == 3) {\nLAB_0030ff50:\n              lVar13 = param_2[2];\n              if (puVar10 == (undefined8 *)0x0) {\n                    \n                uVar9 = FUN_0039dd50(lVar13,uVar21);\n                uVar11 = gettext(\n                                "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                );\n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9,uVar21);\n              }\n              else {\n                    \n                FUN_004443d0(&local_78,puVar10);\n                uVar9 = CONCAT71(uStack_77,local_78);\n                uVar11 = gettext(\n                                "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                );\n                    \n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9);\n                if ((undefined1 *)CONCAT71(uStack_77,local_78) != auStack_68) {\n                  FUN_0049e340();\n                }\n              }\n                    \n              iVar8 = FUN_0039d3c0(lVar13,uVar21,local_e0,&local_e1);\n              if (iVar8 != 0) {\n                    \n                lVar15 = FUN_00397ec0(lVar13,iVar8,&local_dc);\n                if (local_dc != 0) {\n                    \n                  uVar9 = FUN_0039dd50(lVar13);\n                  uVar11 = gettext("  section group signature: \"%s\"");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n                if (lVar15 != 0) {\n                  uVar9 = *(undefined8 *)(lVar15 + 8);\n                  uVar11 = gettext("  prevailing definition is from %s");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n              }\n              iVar8 = 3;\n            }\n            else {\nLAB_00310006:\n              iVar8 = 2;\n            }\n            local_a8 = 0;\n          }" { (if_statement "if (iVar8 == 1) goto LAB_0030fdc0;" if (parenthesized_expression "(iVar8 == 1)" ( (binary_expression "iVar8 == 1" identifier == number_literal) )) (goto_statement "goto LAB_0030fdc0;" goto statement_identifier ;)) (if_statement "if (iVar8 == 3) {\nLAB_0030ff50:\n              lVar13 = param_2[2];\n              if (puVar10 == (undefined8 *)0x0) {\n                    \n                uVar9 = FUN_0039dd50(lVar13,uVar21);\n                uVar11 = gettext(\n                                "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                );\n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9,uVar21);\n              }\n              else {\n                    \n                FUN_004443d0(&local_78,puVar10);\n                uVar9 = CONCAT71(uStack_77,local_78);\n                uVar11 = gettext(\n                                "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                );\n                    \n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9);\n                if ((undefined1 *)CONCAT71(uStack_77,local_78) != auStack_68) {\n                  FUN_0049e340();\n                }\n              }\n                    \n              iVar8 = FUN_0039d3c0(lVar13,uVar21,local_e0,&local_e1);\n              if (iVar8 != 0) {\n                    \n                lVar15 = FUN_00397ec0(lVar13,iVar8,&local_dc);\n                if (local_dc != 0) {\n                    \n                  uVar9 = FUN_0039dd50(lVar13);\n                  uVar11 = gettext("  section group signature: \"%s\"");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n                if (lVar15 != 0) {\n                  uVar9 = *(undefined8 *)(lVar15 + 8);\n                  uVar11 = gettext("  prevailing definition is from %s");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n              }\n              iVar8 = 3;\n            }\n            else {\nLAB_00310006:\n              iVar8 = 2;\n            }" if (parenthesized_expression "(iVar8 == 3)" ( (binary_expression "iVar8 == 3" identifier == number_literal) )) (compound_statement "{\nLAB_0030ff50:\n              lVar13 = param_2[2];\n              if (puVar10 == (undefined8 *)0x0) {\n                    \n                uVar9 = FUN_0039dd50(lVar13,uVar21);\n                uVar11 = gettext(\n                                "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                );\n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9,uVar21);\n              }\n              else {\n                    \n                FUN_004443d0(&local_78,puVar10);\n                uVar9 = CONCAT71(uStack_77,local_78);\n                uVar11 = gettext(\n                                "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                );\n                    \n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9);\n                if ((undefined1 *)CONCAT71(uStack_77,local_78) != auStack_68) {\n                  FUN_0049e340();\n                }\n              }\n                    \n              iVar8 = FUN_0039d3c0(lVar13,uVar21,local_e0,&local_e1);\n              if (iVar8 != 0) {\n                    \n                lVar15 = FUN_00397ec0(lVar13,iVar8,&local_dc);\n                if (local_dc != 0) {\n                    \n                  uVar9 = FUN_0039dd50(lVar13);\n                  uVar11 = gettext("  section group signature: \"%s\"");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n                if (lVar15 != 0) {\n                  uVar9 = *(undefined8 *)(lVar15 + 8);\n                  uVar11 = gettext("  prevailing definition is from %s");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n              }\n              iVar8 = 3;\n            }" { (labeled_statement "LAB_0030ff50:\n              lVar13 = param_2[2];" statement_identifier : (expression_statement "lVar13 = param_2[2];" (assignment_expression "lVar13 = param_2[2]" identifier = (subscript_expression "param_2[2]" identifier [ number_literal ])) ;)) (if_statement "if (puVar10 == (undefined8 *)0x0) {\n                    \n                uVar9 = FUN_0039dd50(lVar13,uVar21);\n                uVar11 = gettext(\n                                "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                );\n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9,uVar21);\n              }\n              else {\n                    \n                FUN_004443d0(&local_78,puVar10);\n                uVar9 = CONCAT71(uStack_77,local_78);\n                uVar11 = gettext(\n                                "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                );\n                    \n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9);\n                if ((undefined1 *)CONCAT71(uStack_77,local_78) != auStack_68) {\n                  FUN_0049e340();\n                }\n              }" if (parenthesized_expression "(puVar10 == (undefined8 *)0x0)" ( (binary_expression "puVar10 == (undefined8 *)0x0" identifier == (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    \n                uVar9 = FUN_0039dd50(lVar13,uVar21);\n                uVar11 = gettext(\n                                "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                );\n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9,uVar21);\n              }" { (expression_statement "uVar9 = FUN_0039dd50(lVar13,uVar21);" (assignment_expression "uVar9 = FUN_0039dd50(lVar13,uVar21)" identifier = (call_expression "FUN_0039dd50(lVar13,uVar21)" identifier (argument_list "(lVar13,uVar21)" ( identifier , identifier )))) ;) (expression_statement "uVar11 = gettext(\n                                "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                );" (assignment_expression "uVar11 = gettext(\n                                "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                )" identifier = (call_expression "gettext(\n                                "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                )" identifier (argument_list "(\n                                "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                )" ( (string_literal ""relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"" " string_content escape_sequence string_content escape_sequence string_content ") )))) ;) (expression_statement "FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9,uVar21);" (call_expression "FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9,uVar21)" identifier (argument_list "(param_2,local_148,local_140,uVar11,uVar9,uVar21)" ( identifier , identifier , identifier , identifier , identifier , identifier ))) ;) }) (else_clause "else {\n                    \n                FUN_004443d0(&local_78,puVar10);\n                uVar9 = CONCAT71(uStack_77,local_78);\n                uVar11 = gettext(\n                                "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                );\n                    \n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9);\n                if ((undefined1 *)CONCAT71(uStack_77,local_78) != auStack_68) {\n                  FUN_0049e340();\n                }\n              }" else (compound_statement "{\n                    \n                FUN_004443d0(&local_78,puVar10);\n                uVar9 = CONCAT71(uStack_77,local_78);\n                uVar11 = gettext(\n                                "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                );\n                    \n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9);\n                if ((undefined1 *)CONCAT71(uStack_77,local_78) != auStack_68) {\n                  FUN_0049e340();\n                }\n              }" { (expression_statement "FUN_004443d0(&local_78,puVar10);" (call_expression "FUN_004443d0(&local_78,puVar10)" identifier (argument_list "(&local_78,puVar10)" ( (pointer_expression "&local_78" & identifier) , identifier ))) ;) (expression_statement "uVar9 = CONCAT71(uStack_77,local_78);" (assignment_expression "uVar9 = CONCAT71(uStack_77,local_78)" identifier = (call_expression "CONCAT71(uStack_77,local_78)" identifier (argument_list "(uStack_77,local_78)" ( identifier , identifier )))) ;) (expression_statement "uVar11 = gettext(\n                                "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                );" (assignment_expression "uVar11 = gettext(\n                                "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                )" identifier = (call_expression "gettext(\n                                "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                )" identifier (argument_list "(\n                                "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                )" ( (string_literal ""relocation refers to global symbol \"%s\", which is defined in a discarded section"" " string_content escape_sequence string_content escape_sequence string_content ") )))) ;) (expression_statement "FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9);" (call_expression "FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9)" identifier (argument_list "(param_2,local_148,local_140,uVar11,uVar9)" ( identifier , identifier , identifier , identifier , identifier ))) ;) (if_statement "if ((undefined1 *)CONCAT71(uStack_77,local_78) != auStack_68) {\n                  FUN_0049e340();\n                }" if (parenthesized_expression "((undefined1 *)CONCAT71(uStack_77,local_78) != auStack_68)" ( (binary_expression "(undefined1 *)CONCAT71(uStack_77,local_78) != auStack_68" (cast_expression "(undefined1 *)CONCAT71(uStack_77,local_78)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT71(uStack_77,local_78)" identifier (argument_list "(uStack_77,local_78)" ( identifier , identifier )))) != identifier) )) (compound_statement "{\n                  FUN_0049e340();\n                }" { (expression_statement "FUN_0049e340();" (call_expression "FUN_0049e340()" identifier (argument_list "()" ( ))) ;) })) }))) (expression_statement "iVar8 = FUN_0039d3c0(lVar13,uVar21,local_e0,&local_e1);" (assignment_expression "iVar8 = FUN_0039d3c0(lVar13,uVar21,local_e0,&local_e1)" identifier = (call_expression "FUN_0039d3c0(lVar13,uVar21,local_e0,&local_e1)" identifier (argument_list "(lVar13,uVar21,local_e0,&local_e1)" ( identifier , identifier , identifier , (pointer_expression "&local_e1" & identifier) )))) ;) (if_statement "if (iVar8 != 0) {\n                    \n                lVar15 = FUN_00397ec0(lVar13,iVar8,&local_dc);\n                if (local_dc != 0) {\n                    \n                  uVar9 = FUN_0039dd50(lVar13);\n                  uVar11 = gettext("  section group signature: \"%s\"");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n                if (lVar15 != 0) {\n                  uVar9 = *(undefined8 *)(lVar15 + 8);\n                  uVar11 = gettext("  prevailing definition is from %s");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n              }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n                    \n                lVar15 = FUN_00397ec0(lVar13,iVar8,&local_dc);\n                if (local_dc != 0) {\n                    \n                  uVar9 = FUN_0039dd50(lVar13);\n                  uVar11 = gettext("  section group signature: \"%s\"");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n                if (lVar15 != 0) {\n                  uVar9 = *(undefined8 *)(lVar15 + 8);\n                  uVar11 = gettext("  prevailing definition is from %s");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n              }" { (expression_statement "lVar15 = FUN_00397ec0(lVar13,iVar8,&local_dc);" (assignment_expression "lVar15 = FUN_00397ec0(lVar13,iVar8,&local_dc)" identifier = (call_expression "FUN_00397ec0(lVar13,iVar8,&local_dc)" identifier (argument_list "(lVar13,iVar8,&local_dc)" ( identifier , identifier , (pointer_expression "&local_dc" & identifier) )))) ;) (if_statement "if (local_dc != 0) {\n                    \n                  uVar9 = FUN_0039dd50(lVar13);\n                  uVar11 = gettext("  section group signature: \"%s\"");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }" if (parenthesized_expression "(local_dc != 0)" ( (binary_expression "local_dc != 0" identifier != number_literal) )) (compound_statement "{\n                    \n                  uVar9 = FUN_0039dd50(lVar13);\n                  uVar11 = gettext("  section group signature: \"%s\"");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }" { (expression_statement "uVar9 = FUN_0039dd50(lVar13);" (assignment_expression "uVar9 = FUN_0039dd50(lVar13)" identifier = (call_expression "FUN_0039dd50(lVar13)" identifier (argument_list "(lVar13)" ( identifier )))) ;) (expression_statement "uVar11 = gettext("  section group signature: \"%s\"");" (assignment_expression "uVar11 = gettext("  section group signature: \"%s\"")" identifier = (call_expression "gettext("  section group signature: \"%s\"")" identifier (argument_list "("  section group signature: \"%s\"")" ( (string_literal ""  section group signature: \"%s\""" " string_content escape_sequence string_content escape_sequence ") )))) ;) (expression_statement "FUN_0034a8b0(uVar11,uVar9);" (call_expression "FUN_0034a8b0(uVar11,uVar9)" identifier (argument_list "(uVar11,uVar9)" ( identifier , identifier ))) ;) })) (if_statement "if (lVar15 != 0) {\n                  uVar9 = *(undefined8 *)(lVar15 + 8);\n                  uVar11 = gettext("  prevailing definition is from %s");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }" if (parenthesized_expression "(lVar15 != 0)" ( (binary_expression "lVar15 != 0" identifier != number_literal) )) (compound_statement "{\n                  uVar9 = *(undefined8 *)(lVar15 + 8);\n                  uVar11 = gettext("  prevailing definition is from %s");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }" { (expression_statement "uVar9 = *(undefined8 *)(lVar15 + 8);" (assignment_expression "uVar9 = *(undefined8 *)(lVar15 + 8)" identifier = (pointer_expression "*(undefined8 *)(lVar15 + 8)" * (cast_expression "(undefined8 *)(lVar15 + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 8)" ( (binary_expression "lVar15 + 8" identifier + number_literal) ))))) ;) (expression_statement "uVar11 = gettext("  prevailing definition is from %s");" (assignment_expression "uVar11 = gettext("  prevailing definition is from %s")" identifier = (call_expression "gettext("  prevailing definition is from %s")" identifier (argument_list "("  prevailing definition is from %s")" ( (string_literal ""  prevailing definition is from %s"" " string_content ") )))) ;) (expression_statement "FUN_0034a8b0(uVar11,uVar9);" (call_expression "FUN_0034a8b0(uVar11,uVar9)" identifier (argument_list "(uVar11,uVar9)" ( identifier , identifier ))) ;) })) })) (expression_statement "iVar8 = 3;" (assignment_expression "iVar8 = 3" identifier = number_literal) ;) }) (else_clause "else {\nLAB_00310006:\n              iVar8 = 2;\n            }" else (compound_statement "{\nLAB_00310006:\n              iVar8 = 2;\n            }" { (labeled_statement "LAB_00310006:\n              iVar8 = 2;" statement_identifier : (expression_statement "iVar8 = 2;" (assignment_expression "iVar8 = 2" identifier = number_literal) ;)) }))) (expression_statement "local_a8 = 0;" (assignment_expression "local_a8 = 0" identifier = number_literal) ;) }))) (if_statement "if ((int)local_b8 != 0) {\n                    \n                    \n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }" if (parenthesized_expression "((int)local_b8 != 0)" ( (binary_expression "(int)local_b8 != 0" (cast_expression "(int)local_b8" ( (type_descriptor "int" primitive_type) ) identifier) != number_literal) )) (compound_statement "{\n                    \n                    \n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }" { (expression_statement "FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");" (call_expression "FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry")" identifier (argument_list "("../../gold/object.h",0x716,"set_no_output_symtab_entry")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""set_no_output_symtab_entry"" " string_content ") ))) ;) })) (expression_statement "local_b8 = CONCAT44(local_b8._4_4_,0xffffffff);" (assignment_expression "local_b8 = CONCAT44(local_b8._4_4_,0xffffffff)" identifier = (call_expression "CONCAT44(local_b8._4_4_,0xffffffff)" identifier (argument_list "(local_b8._4_4_,0xffffffff)" ( (field_expression "local_b8._4_4_" identifier . field_identifier) , number_literal )))) ;) (if_statement "if (local_58[0] != abStack_48) {\n            FUN_0049e340();\n          }" if (parenthesized_expression "(local_58[0] != abStack_48)" ( (binary_expression "local_58[0] != abStack_48" (subscript_expression "local_58[0]" identifier [ number_literal ]) != identifier) )) (compound_statement "{\n            FUN_0049e340();\n          }" { (expression_statement "FUN_0049e340();" (call_expression "FUN_0049e340()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "puVar22 = &local_b8;" (assignment_expression "puVar22 = &local_b8" identifier = (pointer_expression "&local_b8" & identifier)) ;) (if_statement "if (-1 < (long)local_140) goto LAB_0030fae5;" if (parenthesized_expression "(-1 < (long)local_140)" ( (binary_expression "-1 < (long)local_140" number_literal < (cast_expression "(long)local_140" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )) (goto_statement "goto LAB_0030fae5;" goto statement_identifier ;)) (labeled_statement "LAB_0030fe48:\n          uVar9 = gettext("reloc has bad offset %zu");" statement_identifier : (expression_statement "uVar9 = gettext("reloc has bad offset %zu");" (assignment_expression "uVar9 = gettext("reloc has bad offset %zu")" identifier = (call_expression "gettext("reloc has bad offset %zu")" identifier (argument_list "("reloc has bad offset %zu")" ( (string_literal ""reloc has bad offset %zu"" " string_content ") )))) ;)) (expression_statement "FUN_0034aed0(param_2,local_148,local_140,uVar9,local_140);" (call_expression "FUN_0034aed0(param_2,local_148,local_140,uVar9,local_140)" identifier (argument_list "(param_2,local_148,local_140,uVar9,local_140)" ( identifier , identifier , identifier , identifier , identifier ))) ;) }) (else_clause "else {\n          if ((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))\n          goto LAB_0030fa33;\n          if (uVar21 < *(uint *)(plVar23 + 0x24)) {\nLAB_003107a0:\n                    \n                    \n            FUN_00352af0("../../gold/target-reloc.h",0x17f,"relocate_section");\n          }\n          uVar14 = (ulong)(uVar21 - *(uint *)(plVar23 + 0x24));\n          if ((ulong)(plVar23[0x27] - plVar23[0x26] >> 3) <= uVar14) {\n                    \n            FUN_00352af0("../../gold/object.h",0x8ad,"global_symbol");\n          }\n          puVar10 = *(undefined8 **)(plVar23[0x26] + uVar14 * 8);\n          if (puVar10 == (undefined8 *)0x0) goto LAB_003107a0;\n          if ((*(byte *)((long)puVar10 + 0x3a) & 0x10) == 0) goto LAB_0030fa33;\n                    \n          puVar10 = (undefined8 *)FUN_00443580(*param_2,puVar10);\n          iVar7 = *(int *)((long)puVar10 + 0x1c);\n          uVar17 = iVar7 - 1;\n          if (uVar17 < 0xfffffffe) {\n            if (((int)local_d8 != 0) && ((int)local_d8 != -2)) {\n                    \n                    \n              FUN_00352af0("../../gold/object.h",0x70c,"set_output_symtab_index");\n            }\n            goto LAB_0030fcf0;\n          }\n          if ((int)local_d8 != 0) {\n                    \n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\nLAB_0030fa42:\n          local_d8 = CONCAT44(local_d8._4_4_,0xffffffff);\nLAB_0030fa4a:\n          local_c8 = *(undefined4 *)(puVar10 + 8);\n          if ((*(byte *)(puVar10 + 7) & 0xf) == 6) {\n            local_d0 = local_d0 | 0x20000000;\n          }\n          else if ((*(byte *)(puVar10 + 7) & 0xf) == 10) {\n            local_d0 = local_d0 | 0x40000000;\n          }\n          if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') {\n            if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) {\nLAB_0030fd10:\n                puVar22 = &local_d8;\n                uVar17 = 0;\n                goto LAB_0030fd25;\n              }\n            }\n            else if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 4) goto LAB_0030fd10;\n          }\n          puVar22 = &local_d8;\nLAB_0030faa5:\n          local_b0 = 0x80000000;\n          local_b8 = 0xffffffff00000000;\n          local_a8 = 0;\n          if ((long)local_140 < 0) goto LAB_0030fe48;\nLAB_0030fae5:\n          if ((param_10 <= local_140) || (local_140 + param_8 == 0)) goto LAB_0030fe48;\n          uVar21 = local_120[1];\n          if (uVar21 >> 0x18 != 0) {\n            uVar9 = gettext("Invalid/unrecognized reloc reloc %d.");\n                    \n            FUN_0034a750(uVar9,uVar21 >> 0x18);\n                    \n            FUN_00352af0("../../gold/aarch64-reloc-property.h",0xeb,"code_to_array_index");\n          }\n          if (*DAT_0067dff8 == 0) {\n                    \n            FUN_0031d8d0(local_58,DAT_0067dff8,0);\n            pbVar18 = local_58[0];\n            uVar9 = gettext("cannot relocate %s in object file");\n            uVar21 = *local_120;\n                    \n            FUN_0034aed0(param_2,local_148,\n                         uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18,uVar9,pbVar18);\n            if (local_58[0] != abStack_48) {\n              FUN_0049e340();\n            }\n          }\n          else {\n            plVar3 = (long *)param_2[2];\n            local_90 = 0x80000000;\n            local_98 = 0xffffffff00000000;\n            local_88 = 0;\n            if (puVar10 == (undefined8 *)0x0) {\n              if ((*(byte *)((long)puVar22 + 0xb) & 0x40) != 0) {\n                uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n                    \n                cVar4 = FUN_00397bb0(plVar3,uVar21);\n                if (cVar4 != '\0') {\n                  lVar13 = *(long *)(param_1 + 0x28);\n                  if (lVar13 == 0) {\n                    \n                    FUN_002ed4a0();\n                    goto LAB_003108ca;\n                  }\n                  if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    \n                    \n                    FUN_00352af0("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar9 = *(undefined8 *)(lVar13 + 8);\n                  iVar7 = *(int *)(lVar13 + 0x68);\n                  local_88 = (**(code **)(*plVar3 + 0x150))(plVar3,uVar21);\n                  local_88 = (int)uVar9 + 0x20 + iVar7 * 0x10 + local_88;\n                }\n              }\n            }\n            else {\n                    \n              cVar4 = FUN_00228fa0(puVar10,*(undefined4 *)(*DAT_0067dff8 + 0x4c));\n              if (cVar4 != '\0') {\n                if (*(long *)(param_1 + 0x28) == 0) {\n                    \n                  FUN_002ed4a0();\n                  goto LAB_00310805;\n                }\n                local_88 = FUN_002f9c90(*(long *)(param_1 + 0x28),puVar10);\n              }\n            }\n            FUN_001a5bc0(&local_98);\n          }\n          if (puVar10 != (undefined8 *)0x0) {\n            bVar16 = *(byte *)((long)puVar10 + 0x3a);\n            bVar5 = bVar16 & 7;\n            if ((bVar16 & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) != 0) || ((*(byte *)((long)puVar10 + 0x3b) & 0x20) == 0)) {\n                if (*(code **)(*(long *)puVar10[2] + 0x28) != FUN_001a4aa0) {\n                  lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                  if (lVar13 != 0) {\n                    bVar16 = *(byte *)((long)puVar10 + 0x3a);\n                    bVar5 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar5 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)puVar10 + 0x3b)) goto LAB_00310305;\n                    bVar5 = *(byte *)((long)puVar10 + 0x39);\n                    if ((bVar5 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }\nLAB_0031015a:\n                bVar16 = bVar16 & 7;\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                if ((*(byte *)((long)puVar10 + 0x39) & 3) == 0) goto LAB_003101c0;\nLAB_00310166:\n                if (((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)\n                    ) && ((*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0)))) {\nLAB_00310293:\n                  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_003108ca:\n                    \n                    \n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') {\n                    if (bVar16 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)(puVar10[2] + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }\n                if (bVar5 == 2) {\n                  uVar9 = gettext("hidden");\n                }\n                else if (bVar5 < 3) {\n                  if (bVar5 != 1) {\n                    \n                    FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar9 = gettext("internal");\n                }\n                else {\n                  uVar9 = gettext("protected");\n                }\n                uVar11 = *puVar10;\n                uVar12 = gettext("%s symbol \'%s\' is not defined locally");\n                    \n                FUN_0034a750(uVar12,uVar9,uVar11);\n                goto LAB_003101c0;\n              }\nLAB_0031020c:\n              if ((*(byte *)(puVar10 + 7) >> 4 == 2) || ((*(byte *)((long)puVar10 + 0x3c) & 2) != 0)\n                 ) {\nLAB_00310438:\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_0031043f:\n                if (bVar5 == 0) goto LAB_003101c0;\n                bVar16 = *(byte *)((long)puVar10 + 0x3a) & 7;\n                if (bVar16 != 0) goto LAB_00310270;\n                goto LAB_00310166;\n              }\n              if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\n                    \n                    \n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') goto LAB_00310438;\n              if (*(char *)((long)puVar10 + 0x3b) < '\0') {\n                if (bVar5 != 0) goto LAB_00310260;\nLAB_003105b8:\n                if (*(code **)(*(long *)puVar10[2] + 0x28) == FUN_001a4aa0) goto LAB_0031015a;\n                    \n                lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                if (lVar13 == 0) goto LAB_00310438;\n              }\nLAB_00310305:\n              plVar3 = *(long **)(PTR_DAT_0067cb08 + 0x18);\n              if (plVar3 == (long *)0x0) {\nLAB_00310805:\n                    \n                    \n                FUN_00352af0("../../gold/parameters.h",0x69,"target");\n              }\n              if ((*(code **)(*plVar3 + 0x38) != FUN_001a49e0) &&\n                 (cVar4 = (**(code **)(*plVar3 + 0x38))(plVar3,puVar10), cVar4 != '\0'))\n              goto LAB_00310438;\n              lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar13 == 0) {\n                    \n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              pbVar18 = *(byte **)(lVar13 + 0x6c40);\n              bVar24 = false;\n              bVar26 = pbVar18 == (byte *)0x0;\n              if (bVar26) {\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_003103c9:\n                if ((bVar5 == 2) ||\n                   ((*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0'))))\n                goto LAB_003103e1;\n                goto LAB_0031043f;\n              }\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"ignore-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar24 = *pbVar19 < *pbVar20;\n                bVar26 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar26);\n              bVar25 = false;\n              bVar24 = (!bVar24 && !bVar26) == bVar24;\n              if (bVar24) goto LAB_00310438;\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"report-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar25 = *pbVar19 < *pbVar20;\n                bVar24 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar15 = 0x17;\n                pbVar19 = pbVar18;\n                pbVar20 = (byte *)"ignore-in-object-files";\n                do {\n                  if (lVar15 == 0) break;\n                  lVar15 = lVar15 + -1;\n                  bVar26 = *pbVar19 < *pbVar20;\n                  bVar24 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if ((!bVar24) || (bVar24 = (*(byte *)((long)puVar10 + 0x3b) & 1) == 0, !bVar24)) {\n                  bVar26 = false;\n                  lVar15 = 0x16;\n                  pbVar19 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    if (lVar15 == 0) break;\n                    lVar15 = lVar15 + -1;\n                    bVar26 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  if (((!bVar26 && !bVar24) != bVar26) || (*(char *)((long)puVar10 + 0x3a) < '\0'))\n                  goto LAB_003103c9;\n                }\n                goto LAB_0031043f;\n              }\nLAB_003103e1:\n              FUN_0034b9f0(puVar10,param_2,local_148,local_140);\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            else {\n              if (bVar5 == 4) goto LAB_0031020c;\nLAB_00310260:\n              bVar5 = *(byte *)((long)puVar10 + 0x39);\n              if ((bVar5 & 3) != 0) {\nLAB_0031026d:\n                bVar5 = bVar5 & 3;\n                bVar16 = bVar16 & 7;\nLAB_00310270:\n                if (((bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2)) &&\n                   (bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0)) goto LAB_00310293;\n              }\nLAB_003101c0:\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            if ((bVar16 & 4) != 0) {\n              FUN_00446c20(*param_2 + 0x1e0,puVar10,param_2,local_148,local_140);\n            }\n          }\n        }" else (compound_statement "{\n          if ((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))\n          goto LAB_0030fa33;\n          if (uVar21 < *(uint *)(plVar23 + 0x24)) {\nLAB_003107a0:\n                    \n                    \n            FUN_00352af0("../../gold/target-reloc.h",0x17f,"relocate_section");\n          }\n          uVar14 = (ulong)(uVar21 - *(uint *)(plVar23 + 0x24));\n          if ((ulong)(plVar23[0x27] - plVar23[0x26] >> 3) <= uVar14) {\n                    \n            FUN_00352af0("../../gold/object.h",0x8ad,"global_symbol");\n          }\n          puVar10 = *(undefined8 **)(plVar23[0x26] + uVar14 * 8);\n          if (puVar10 == (undefined8 *)0x0) goto LAB_003107a0;\n          if ((*(byte *)((long)puVar10 + 0x3a) & 0x10) == 0) goto LAB_0030fa33;\n                    \n          puVar10 = (undefined8 *)FUN_00443580(*param_2,puVar10);\n          iVar7 = *(int *)((long)puVar10 + 0x1c);\n          uVar17 = iVar7 - 1;\n          if (uVar17 < 0xfffffffe) {\n            if (((int)local_d8 != 0) && ((int)local_d8 != -2)) {\n                    \n                    \n              FUN_00352af0("../../gold/object.h",0x70c,"set_output_symtab_index");\n            }\n            goto LAB_0030fcf0;\n          }\n          if ((int)local_d8 != 0) {\n                    \n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\nLAB_0030fa42:\n          local_d8 = CONCAT44(local_d8._4_4_,0xffffffff);\nLAB_0030fa4a:\n          local_c8 = *(undefined4 *)(puVar10 + 8);\n          if ((*(byte *)(puVar10 + 7) & 0xf) == 6) {\n            local_d0 = local_d0 | 0x20000000;\n          }\n          else if ((*(byte *)(puVar10 + 7) & 0xf) == 10) {\n            local_d0 = local_d0 | 0x40000000;\n          }\n          if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') {\n            if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) {\nLAB_0030fd10:\n                puVar22 = &local_d8;\n                uVar17 = 0;\n                goto LAB_0030fd25;\n              }\n            }\n            else if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 4) goto LAB_0030fd10;\n          }\n          puVar22 = &local_d8;\nLAB_0030faa5:\n          local_b0 = 0x80000000;\n          local_b8 = 0xffffffff00000000;\n          local_a8 = 0;\n          if ((long)local_140 < 0) goto LAB_0030fe48;\nLAB_0030fae5:\n          if ((param_10 <= local_140) || (local_140 + param_8 == 0)) goto LAB_0030fe48;\n          uVar21 = local_120[1];\n          if (uVar21 >> 0x18 != 0) {\n            uVar9 = gettext("Invalid/unrecognized reloc reloc %d.");\n                    \n            FUN_0034a750(uVar9,uVar21 >> 0x18);\n                    \n            FUN_00352af0("../../gold/aarch64-reloc-property.h",0xeb,"code_to_array_index");\n          }\n          if (*DAT_0067dff8 == 0) {\n                    \n            FUN_0031d8d0(local_58,DAT_0067dff8,0);\n            pbVar18 = local_58[0];\n            uVar9 = gettext("cannot relocate %s in object file");\n            uVar21 = *local_120;\n                    \n            FUN_0034aed0(param_2,local_148,\n                         uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18,uVar9,pbVar18);\n            if (local_58[0] != abStack_48) {\n              FUN_0049e340();\n            }\n          }\n          else {\n            plVar3 = (long *)param_2[2];\n            local_90 = 0x80000000;\n            local_98 = 0xffffffff00000000;\n            local_88 = 0;\n            if (puVar10 == (undefined8 *)0x0) {\n              if ((*(byte *)((long)puVar22 + 0xb) & 0x40) != 0) {\n                uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n                    \n                cVar4 = FUN_00397bb0(plVar3,uVar21);\n                if (cVar4 != '\0') {\n                  lVar13 = *(long *)(param_1 + 0x28);\n                  if (lVar13 == 0) {\n                    \n                    FUN_002ed4a0();\n                    goto LAB_003108ca;\n                  }\n                  if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    \n                    \n                    FUN_00352af0("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar9 = *(undefined8 *)(lVar13 + 8);\n                  iVar7 = *(int *)(lVar13 + 0x68);\n                  local_88 = (**(code **)(*plVar3 + 0x150))(plVar3,uVar21);\n                  local_88 = (int)uVar9 + 0x20 + iVar7 * 0x10 + local_88;\n                }\n              }\n            }\n            else {\n                    \n              cVar4 = FUN_00228fa0(puVar10,*(undefined4 *)(*DAT_0067dff8 + 0x4c));\n              if (cVar4 != '\0') {\n                if (*(long *)(param_1 + 0x28) == 0) {\n                    \n                  FUN_002ed4a0();\n                  goto LAB_00310805;\n                }\n                local_88 = FUN_002f9c90(*(long *)(param_1 + 0x28),puVar10);\n              }\n            }\n            FUN_001a5bc0(&local_98);\n          }\n          if (puVar10 != (undefined8 *)0x0) {\n            bVar16 = *(byte *)((long)puVar10 + 0x3a);\n            bVar5 = bVar16 & 7;\n            if ((bVar16 & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) != 0) || ((*(byte *)((long)puVar10 + 0x3b) & 0x20) == 0)) {\n                if (*(code **)(*(long *)puVar10[2] + 0x28) != FUN_001a4aa0) {\n                  lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                  if (lVar13 != 0) {\n                    bVar16 = *(byte *)((long)puVar10 + 0x3a);\n                    bVar5 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar5 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)puVar10 + 0x3b)) goto LAB_00310305;\n                    bVar5 = *(byte *)((long)puVar10 + 0x39);\n                    if ((bVar5 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }\nLAB_0031015a:\n                bVar16 = bVar16 & 7;\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                if ((*(byte *)((long)puVar10 + 0x39) & 3) == 0) goto LAB_003101c0;\nLAB_00310166:\n                if (((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)\n                    ) && ((*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0)))) {\nLAB_00310293:\n                  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_003108ca:\n                    \n                    \n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') {\n                    if (bVar16 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)(puVar10[2] + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }\n                if (bVar5 == 2) {\n                  uVar9 = gettext("hidden");\n                }\n                else if (bVar5 < 3) {\n                  if (bVar5 != 1) {\n                    \n                    FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar9 = gettext("internal");\n                }\n                else {\n                  uVar9 = gettext("protected");\n                }\n                uVar11 = *puVar10;\n                uVar12 = gettext("%s symbol \'%s\' is not defined locally");\n                    \n                FUN_0034a750(uVar12,uVar9,uVar11);\n                goto LAB_003101c0;\n              }\nLAB_0031020c:\n              if ((*(byte *)(puVar10 + 7) >> 4 == 2) || ((*(byte *)((long)puVar10 + 0x3c) & 2) != 0)\n                 ) {\nLAB_00310438:\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_0031043f:\n                if (bVar5 == 0) goto LAB_003101c0;\n                bVar16 = *(byte *)((long)puVar10 + 0x3a) & 7;\n                if (bVar16 != 0) goto LAB_00310270;\n                goto LAB_00310166;\n              }\n              if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\n                    \n                    \n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') goto LAB_00310438;\n              if (*(char *)((long)puVar10 + 0x3b) < '\0') {\n                if (bVar5 != 0) goto LAB_00310260;\nLAB_003105b8:\n                if (*(code **)(*(long *)puVar10[2] + 0x28) == FUN_001a4aa0) goto LAB_0031015a;\n                    \n                lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                if (lVar13 == 0) goto LAB_00310438;\n              }\nLAB_00310305:\n              plVar3 = *(long **)(PTR_DAT_0067cb08 + 0x18);\n              if (plVar3 == (long *)0x0) {\nLAB_00310805:\n                    \n                    \n                FUN_00352af0("../../gold/parameters.h",0x69,"target");\n              }\n              if ((*(code **)(*plVar3 + 0x38) != FUN_001a49e0) &&\n                 (cVar4 = (**(code **)(*plVar3 + 0x38))(plVar3,puVar10), cVar4 != '\0'))\n              goto LAB_00310438;\n              lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar13 == 0) {\n                    \n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              pbVar18 = *(byte **)(lVar13 + 0x6c40);\n              bVar24 = false;\n              bVar26 = pbVar18 == (byte *)0x0;\n              if (bVar26) {\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_003103c9:\n                if ((bVar5 == 2) ||\n                   ((*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0'))))\n                goto LAB_003103e1;\n                goto LAB_0031043f;\n              }\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"ignore-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar24 = *pbVar19 < *pbVar20;\n                bVar26 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar26);\n              bVar25 = false;\n              bVar24 = (!bVar24 && !bVar26) == bVar24;\n              if (bVar24) goto LAB_00310438;\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"report-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar25 = *pbVar19 < *pbVar20;\n                bVar24 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar15 = 0x17;\n                pbVar19 = pbVar18;\n                pbVar20 = (byte *)"ignore-in-object-files";\n                do {\n                  if (lVar15 == 0) break;\n                  lVar15 = lVar15 + -1;\n                  bVar26 = *pbVar19 < *pbVar20;\n                  bVar24 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if ((!bVar24) || (bVar24 = (*(byte *)((long)puVar10 + 0x3b) & 1) == 0, !bVar24)) {\n                  bVar26 = false;\n                  lVar15 = 0x16;\n                  pbVar19 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    if (lVar15 == 0) break;\n                    lVar15 = lVar15 + -1;\n                    bVar26 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  if (((!bVar26 && !bVar24) != bVar26) || (*(char *)((long)puVar10 + 0x3a) < '\0'))\n                  goto LAB_003103c9;\n                }\n                goto LAB_0031043f;\n              }\nLAB_003103e1:\n              FUN_0034b9f0(puVar10,param_2,local_148,local_140);\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            else {\n              if (bVar5 == 4) goto LAB_0031020c;\nLAB_00310260:\n              bVar5 = *(byte *)((long)puVar10 + 0x39);\n              if ((bVar5 & 3) != 0) {\nLAB_0031026d:\n                bVar5 = bVar5 & 3;\n                bVar16 = bVar16 & 7;\nLAB_00310270:\n                if (((bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2)) &&\n                   (bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0)) goto LAB_00310293;\n              }\nLAB_003101c0:\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            if ((bVar16 & 4) != 0) {\n              FUN_00446c20(*param_2 + 0x1e0,puVar10,param_2,local_148,local_140);\n            }\n          }\n        }" { (if_statement "if ((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))\n          goto LAB_0030fa33;" if (parenthesized_expression "((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))" ( (binary_expression "(param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0)" (parenthesized_expression "(param_11 != (long *)0x0)" ( (binary_expression "param_11 != (long *)0x0" identifier != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0)" ( (comma_expression "puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0" (assignment_expression "puVar10 = *(undefined8 **)(*param_11 + local_148 * 8)" identifier = (pointer_expression "*(undefined8 **)(*param_11 + local_148 * 8)" * (cast_expression "(undefined8 **)(*param_11 + local_148 * 8)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*param_11 + local_148 * 8)" ( (binary_expression "*param_11 + local_148 * 8" (pointer_expression "*param_11" * identifier) + (binary_expression "local_148 * 8" identifier * number_literal)) ))))) , (binary_expression "puVar10 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (goto_statement "goto LAB_0030fa33;" goto statement_identifier ;)) (if_statement "if (uVar21 < *(uint *)(plVar23 + 0x24)) {\nLAB_003107a0:\n                    \n                    \n            FUN_00352af0("../../gold/target-reloc.h",0x17f,"relocate_section");\n          }" if (parenthesized_expression "(uVar21 < *(uint *)(plVar23 + 0x24))" ( (binary_expression "uVar21 < *(uint *)(plVar23 + 0x24)" identifier < (pointer_expression "*(uint *)(plVar23 + 0x24)" * (cast_expression "(uint *)(plVar23 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar23 + 0x24)" ( (binary_expression "plVar23 + 0x24" identifier + number_literal) ))))) )) (compound_statement "{\nLAB_003107a0:\n                    \n                    \n            FUN_00352af0("../../gold/target-reloc.h",0x17f,"relocate_section");\n          }" { (labeled_statement "LAB_003107a0:\n                    \n                    \n            FUN_00352af0("../../gold/target-reloc.h",0x17f,"relocate_section");" statement_identifier : (expression_statement "FUN_00352af0("../../gold/target-reloc.h",0x17f,"relocate_section");" (call_expression "FUN_00352af0("../../gold/target-reloc.h",0x17f,"relocate_section")" identifier (argument_list "("../../gold/target-reloc.h",0x17f,"relocate_section")" ( (string_literal ""../../gold/target-reloc.h"" " string_content ") , number_literal , (string_literal ""relocate_section"" " string_content ") ))) ;)) })) (expression_statement "uVar14 = (ulong)(uVar21 - *(uint *)(plVar23 + 0x24));" (assignment_expression "uVar14 = (ulong)(uVar21 - *(uint *)(plVar23 + 0x24))" identifier = (call_expression "(ulong)(uVar21 - *(uint *)(plVar23 + 0x24))" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar21 - *(uint *)(plVar23 + 0x24))" ( (binary_expression "uVar21 - *(uint *)(plVar23 + 0x24)" identifier - (pointer_expression "*(uint *)(plVar23 + 0x24)" * (cast_expression "(uint *)(plVar23 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar23 + 0x24)" ( (binary_expression "plVar23 + 0x24" identifier + number_literal) ))))) )))) ;) (if_statement "if ((ulong)(plVar23[0x27] - plVar23[0x26] >> 3) <= uVar14) {\n                    \n            FUN_00352af0("../../gold/object.h",0x8ad,"global_symbol");\n          }" if (parenthesized_expression "((ulong)(plVar23[0x27] - plVar23[0x26] >> 3) <= uVar14)" ( (binary_expression "(ulong)(plVar23[0x27] - plVar23[0x26] >> 3) <= uVar14" (call_expression "(ulong)(plVar23[0x27] - plVar23[0x26] >> 3)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(plVar23[0x27] - plVar23[0x26] >> 3)" ( (binary_expression "plVar23[0x27] - plVar23[0x26] >> 3" (binary_expression "plVar23[0x27] - plVar23[0x26]" (subscript_expression "plVar23[0x27]" identifier [ number_literal ]) - (subscript_expression "plVar23[0x26]" identifier [ number_literal ])) >> number_literal) ))) <= identifier) )) (compound_statement "{\n                    \n            FUN_00352af0("../../gold/object.h",0x8ad,"global_symbol");\n          }" { (expression_statement "FUN_00352af0("../../gold/object.h",0x8ad,"global_symbol");" (call_expression "FUN_00352af0("../../gold/object.h",0x8ad,"global_symbol")" identifier (argument_list "("../../gold/object.h",0x8ad,"global_symbol")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""global_symbol"" " string_content ") ))) ;) })) (expression_statement "puVar10 = *(undefined8 **)(plVar23[0x26] + uVar14 * 8);" (assignment_expression "puVar10 = *(undefined8 **)(plVar23[0x26] + uVar14 * 8)" identifier = (pointer_expression "*(undefined8 **)(plVar23[0x26] + uVar14 * 8)" * (cast_expression "(undefined8 **)(plVar23[0x26] + uVar14 * 8)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(plVar23[0x26] + uVar14 * 8)" ( (binary_expression "plVar23[0x26] + uVar14 * 8" (subscript_expression "plVar23[0x26]" identifier [ number_literal ]) + (binary_expression "uVar14 * 8" identifier * number_literal)) ))))) ;) (if_statement "if (puVar10 == (undefined8 *)0x0) goto LAB_003107a0;" if (parenthesized_expression "(puVar10 == (undefined8 *)0x0)" ( (binary_expression "puVar10 == (undefined8 *)0x0" identifier == (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_003107a0;" goto statement_identifier ;)) (if_statement "if ((*(byte *)((long)puVar10 + 0x3a) & 0x10) == 0) goto LAB_0030fa33;" if (parenthesized_expression "((*(byte *)((long)puVar10 + 0x3a) & 0x10) == 0)" ( (binary_expression "(*(byte *)((long)puVar10 + 0x3a) & 0x10) == 0" (parenthesized_expression "(*(byte *)((long)puVar10 + 0x3a) & 0x10)" ( (binary_expression "*(byte *)((long)puVar10 + 0x3a) & 0x10" (pointer_expression "*(byte *)((long)puVar10 + 0x3a)" * (cast_expression "(byte *)((long)puVar10 + 0x3a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar10 + 0x3a)" ( (binary_expression "(long)puVar10 + 0x3a" (cast_expression "(long)puVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0030fa33;" goto statement_identifier ;)) (expression_statement "puVar10 = (undefined8 *)FUN_00443580(*param_2,puVar10);" (assignment_expression "puVar10 = (undefined8 *)FUN_00443580(*param_2,puVar10)" identifier = (cast_expression "(undefined8 *)FUN_00443580(*param_2,puVar10)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00443580(*param_2,puVar10)" identifier (argument_list "(*param_2,puVar10)" ( (pointer_expression "*param_2" * identifier) , identifier ))))) ;) (expression_statement "iVar7 = *(int *)((long)puVar10 + 0x1c);" (assignment_expression "iVar7 = *(int *)((long)puVar10 + 0x1c)" identifier = (pointer_expression "*(int *)((long)puVar10 + 0x1c)" * (cast_expression "(int *)((long)puVar10 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar10 + 0x1c)" ( (binary_expression "(long)puVar10 + 0x1c" (cast_expression "(long)puVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (expression_statement "uVar17 = iVar7 - 1;" (assignment_expression "uVar17 = iVar7 - 1" identifier = (binary_expression "iVar7 - 1" identifier - number_literal)) ;) (if_statement "if (uVar17 < 0xfffffffe) {\n            if (((int)local_d8 != 0) && ((int)local_d8 != -2)) {\n                    \n                    \n              FUN_00352af0("../../gold/object.h",0x70c,"set_output_symtab_index");\n            }\n            goto LAB_0030fcf0;\n          }" if (parenthesized_expression "(uVar17 < 0xfffffffe)" ( (binary_expression "uVar17 < 0xfffffffe" identifier < number_literal) )) (compound_statement "{\n            if (((int)local_d8 != 0) && ((int)local_d8 != -2)) {\n                    \n                    \n              FUN_00352af0("../../gold/object.h",0x70c,"set_output_symtab_index");\n            }\n            goto LAB_0030fcf0;\n          }" { (if_statement "if (((int)local_d8 != 0) && ((int)local_d8 != -2)) {\n                    \n                    \n              FUN_00352af0("../../gold/object.h",0x70c,"set_output_symtab_index");\n            }" if (parenthesized_expression "(((int)local_d8 != 0) && ((int)local_d8 != -2))" ( (binary_expression "((int)local_d8 != 0) && ((int)local_d8 != -2)" (parenthesized_expression "((int)local_d8 != 0)" ( (binary_expression "(int)local_d8 != 0" (cast_expression "(int)local_d8" ( (type_descriptor "int" primitive_type) ) identifier) != number_literal) )) && (parenthesized_expression "((int)local_d8 != -2)" ( (binary_expression "(int)local_d8 != -2" (cast_expression "(int)local_d8" ( (type_descriptor "int" primitive_type) ) identifier) != number_literal) ))) )) (compound_statement "{\n                    \n                    \n              FUN_00352af0("../../gold/object.h",0x70c,"set_output_symtab_index");\n            }" { (expression_statement "FUN_00352af0("../../gold/object.h",0x70c,"set_output_symtab_index");" (call_expression "FUN_00352af0("../../gold/object.h",0x70c,"set_output_symtab_index")" identifier (argument_list "("../../gold/object.h",0x70c,"set_output_symtab_index")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""set_output_symtab_index"" " string_content ") ))) ;) })) (goto_statement "goto LAB_0030fcf0;" goto statement_identifier ;) })) (if_statement "if ((int)local_d8 != 0) {\n                    \n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }" if (parenthesized_expression "((int)local_d8 != 0)" ( (binary_expression "(int)local_d8 != 0" (cast_expression "(int)local_d8" ( (type_descriptor "int" primitive_type) ) identifier) != number_literal) )) (compound_statement "{\n                    \n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }" { (expression_statement "FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");" (call_expression "FUN_00352af0("../../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_0030fa42:\n          local_d8 = CONCAT44(local_d8._4_4_,0xffffffff);" statement_identifier : (expression_statement "local_d8 = CONCAT44(local_d8._4_4_,0xffffffff);" (assignment_expression "local_d8 = CONCAT44(local_d8._4_4_,0xffffffff)" identifier = (call_expression "CONCAT44(local_d8._4_4_,0xffffffff)" identifier (argument_list "(local_d8._4_4_,0xffffffff)" ( (field_expression "local_d8._4_4_" identifier . field_identifier) , number_literal )))) ;)) (labeled_statement "LAB_0030fa4a:\n          local_c8 = *(undefined4 *)(puVar10 + 8);" statement_identifier : (expression_statement "local_c8 = *(undefined4 *)(puVar10 + 8);" (assignment_expression "local_c8 = *(undefined4 *)(puVar10 + 8)" identifier = (pointer_expression "*(undefined4 *)(puVar10 + 8)" * (cast_expression "(undefined4 *)(puVar10 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 8)" ( (binary_expression "puVar10 + 8" identifier + number_literal) ))))) ;)) (if_statement "if ((*(byte *)(puVar10 + 7) & 0xf) == 6) {\n            local_d0 = local_d0 | 0x20000000;\n          }\n          else if ((*(byte *)(puVar10 + 7) & 0xf) == 10) {\n            local_d0 = local_d0 | 0x40000000;\n          }" if (parenthesized_expression "((*(byte *)(puVar10 + 7) & 0xf) == 6)" ( (binary_expression "(*(byte *)(puVar10 + 7) & 0xf) == 6" (parenthesized_expression "(*(byte *)(puVar10 + 7) & 0xf)" ( (binary_expression "*(byte *)(puVar10 + 7) & 0xf" (pointer_expression "*(byte *)(puVar10 + 7)" * (cast_expression "(byte *)(puVar10 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 7)" ( (binary_expression "puVar10 + 7" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n            local_d0 = local_d0 | 0x20000000;\n          }" { (expression_statement "local_d0 = local_d0 | 0x20000000;" (assignment_expression "local_d0 = local_d0 | 0x20000000" identifier = (binary_expression "local_d0 | 0x20000000" identifier | number_literal)) ;) }) (else_clause "else if ((*(byte *)(puVar10 + 7) & 0xf) == 10) {\n            local_d0 = local_d0 | 0x40000000;\n          }" else (if_statement "if ((*(byte *)(puVar10 + 7) & 0xf) == 10) {\n            local_d0 = local_d0 | 0x40000000;\n          }" if (parenthesized_expression "((*(byte *)(puVar10 + 7) & 0xf) == 10)" ( (binary_expression "(*(byte *)(puVar10 + 7) & 0xf) == 10" (parenthesized_expression "(*(byte *)(puVar10 + 7) & 0xf)" ( (binary_expression "*(byte *)(puVar10 + 7) & 0xf" (pointer_expression "*(byte *)(puVar10 + 7)" * (cast_expression "(byte *)(puVar10 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 7)" ( (binary_expression "puVar10 + 7" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n            local_d0 = local_d0 | 0x40000000;\n          }" { (expression_statement "local_d0 = local_d0 | 0x40000000;" (assignment_expression "local_d0 = local_d0 | 0x40000000" identifier = (binary_expression "local_d0 | 0x40000000" identifier | number_literal)) ;) })))) (if_statement "if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') {\n            if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) {\nLAB_0030fd10:\n                puVar22 = &local_d8;\n                uVar17 = 0;\n                goto LAB_0030fd25;\n              }\n            }\n            else if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 4) goto LAB_0030fd10;\n          }" if (parenthesized_expression "((char)*(byte *)((long)puVar10 + 0x3b) < '\0')" ( (binary_expression "(char)*(byte *)((long)puVar10 + 0x3b) < '\0'" (cast_expression "(char)*(byte *)((long)puVar10 + 0x3b)" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(byte *)((long)puVar10 + 0x3b)" * (cast_expression "(byte *)((long)puVar10 + 0x3b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar10 + 0x3b)" ( (binary_expression "(long)puVar10 + 0x3b" (cast_expression "(long)puVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) {\nLAB_0030fd10:\n                puVar22 = &local_d8;\n                uVar17 = 0;\n                goto LAB_0030fd25;\n              }\n            }\n            else if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 4) goto LAB_0030fd10;\n          }" { (if_statement "if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) {\nLAB_0030fd10:\n                puVar22 = &local_d8;\n                uVar17 = 0;\n                goto LAB_0030fd25;\n              }\n            }\n            else if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 4) goto LAB_0030fd10;" if (parenthesized_expression "((*(byte *)((long)puVar10 + 0x3a) & 7) == 0)" ( (binary_expression "(*(byte *)((long)puVar10 + 0x3a) & 7) == 0" (parenthesized_expression "(*(byte *)((long)puVar10 + 0x3a) & 7)" ( (binary_expression "*(byte *)((long)puVar10 + 0x3a) & 7" (pointer_expression "*(byte *)((long)puVar10 + 0x3a)" * (cast_expression "(byte *)((long)puVar10 + 0x3a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar10 + 0x3a)" ( (binary_expression "(long)puVar10 + 0x3a" (cast_expression "(long)puVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n              if ((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) {\nLAB_0030fd10:\n                puVar22 = &local_d8;\n                uVar17 = 0;\n                goto LAB_0030fd25;\n              }\n            }" { (if_statement "if ((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) {\nLAB_0030fd10:\n                puVar22 = &local_d8;\n                uVar17 = 0;\n                goto LAB_0030fd25;\n              }" if (parenthesized_expression "((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0))" ( (binary_expression "(*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)" (parenthesized_expression "(*(int *)(puVar10 + 3) == 0)" ( (binary_expression "*(int *)(puVar10 + 3) == 0" (pointer_expression "*(int *)(puVar10 + 3)" * (cast_expression "(int *)(puVar10 + 3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 3)" ( (binary_expression "puVar10 + 3" identifier + number_literal) )))) == number_literal) )) && (parenthesized_expression "((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)" ( (binary_expression "(*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0" (parenthesized_expression "(*(byte *)((long)puVar10 + 0x3b) & 0x20)" ( (binary_expression "*(byte *)((long)puVar10 + 0x3b) & 0x20" (pointer_expression "*(byte *)((long)puVar10 + 0x3b)" * (cast_expression "(byte *)((long)puVar10 + 0x3b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar10 + 0x3b)" ( (binary_expression "(long)puVar10 + 0x3b" (cast_expression "(long)puVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\nLAB_0030fd10:\n                puVar22 = &local_d8;\n                uVar17 = 0;\n                goto LAB_0030fd25;\n              }" { (labeled_statement "LAB_0030fd10:\n                puVar22 = &local_d8;" statement_identifier : (expression_statement "puVar22 = &local_d8;" (assignment_expression "puVar22 = &local_d8" identifier = (pointer_expression "&local_d8" & identifier)) ;)) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0030fd25;" goto statement_identifier ;) })) }) (else_clause "else if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 4) goto LAB_0030fd10;" else (if_statement "if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 4) goto LAB_0030fd10;" if (parenthesized_expression "((*(byte *)((long)puVar10 + 0x3a) & 7) == 4)" ( (binary_expression "(*(byte *)((long)puVar10 + 0x3a) & 7) == 4" (parenthesized_expression "(*(byte *)((long)puVar10 + 0x3a) & 7)" ( (binary_expression "*(byte *)((long)puVar10 + 0x3a) & 7" (pointer_expression "*(byte *)((long)puVar10 + 0x3a)" * (cast_expression "(byte *)((long)puVar10 + 0x3a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar10 + 0x3a)" ( (binary_expression "(long)puVar10 + 0x3a" (cast_expression "(long)puVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0030fd10;" goto statement_identifier ;)))) })) (expression_statement "puVar22 = &local_d8;" (assignment_expression "puVar22 = &local_d8" identifier = (pointer_expression "&local_d8" & identifier)) ;) (labeled_statement "LAB_0030faa5:\n          local_b0 = 0x80000000;" statement_identifier : (expression_statement "local_b0 = 0x80000000;" (assignment_expression "local_b0 = 0x80000000" identifier = number_literal) ;)) (expression_statement "local_b8 = 0xffffffff00000000;" (assignment_expression "local_b8 = 0xffffffff00000000" identifier = number_literal) ;) (expression_statement "local_a8 = 0;" (assignment_expression "local_a8 = 0" identifier = number_literal) ;) (if_statement "if ((long)local_140 < 0) goto LAB_0030fe48;" if (parenthesized_expression "((long)local_140 < 0)" ( (binary_expression "(long)local_140 < 0" (cast_expression "(long)local_140" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) < number_literal) )) (goto_statement "goto LAB_0030fe48;" goto statement_identifier ;)) (labeled_statement "LAB_0030fae5:\n          if ((param_10 <= local_140) || (local_140 + param_8 == 0)) goto LAB_0030fe48;" statement_identifier : (if_statement "if ((param_10 <= local_140) || (local_140 + param_8 == 0)) goto LAB_0030fe48;" if (parenthesized_expression "((param_10 <= local_140) || (local_140 + param_8 == 0))" ( (binary_expression "(param_10 <= local_140) || (local_140 + param_8 == 0)" (parenthesized_expression "(param_10 <= local_140)" ( (binary_expression "param_10 <= local_140" identifier <= identifier) )) || (parenthesized_expression "(local_140 + param_8 == 0)" ( (binary_expression "local_140 + param_8 == 0" (binary_expression "local_140 + param_8" identifier + identifier) == number_literal) ))) )) (goto_statement "goto LAB_0030fe48;" goto statement_identifier ;))) (expression_statement "uVar21 = local_120[1];" (assignment_expression "uVar21 = local_120[1]" identifier = (subscript_expression "local_120[1]" identifier [ number_literal ])) ;) (if_statement "if (uVar21 >> 0x18 != 0) {\n            uVar9 = gettext("Invalid/unrecognized reloc reloc %d.");\n                    \n            FUN_0034a750(uVar9,uVar21 >> 0x18);\n                    \n            FUN_00352af0("../../gold/aarch64-reloc-property.h",0xeb,"code_to_array_index");\n          }" if (parenthesized_expression "(uVar21 >> 0x18 != 0)" ( (binary_expression "uVar21 >> 0x18 != 0" (binary_expression "uVar21 >> 0x18" identifier >> number_literal) != number_literal) )) (compound_statement "{\n            uVar9 = gettext("Invalid/unrecognized reloc reloc %d.");\n                    \n            FUN_0034a750(uVar9,uVar21 >> 0x18);\n                    \n            FUN_00352af0("../../gold/aarch64-reloc-property.h",0xeb,"code_to_array_index");\n          }" { (expression_statement "uVar9 = gettext("Invalid/unrecognized reloc reloc %d.");" (assignment_expression "uVar9 = gettext("Invalid/unrecognized reloc reloc %d.")" identifier = (call_expression "gettext("Invalid/unrecognized reloc reloc %d.")" identifier (argument_list "("Invalid/unrecognized reloc reloc %d.")" ( (string_literal ""Invalid/unrecognized reloc reloc %d."" " string_content ") )))) ;) (expression_statement "FUN_0034a750(uVar9,uVar21 >> 0x18);" (call_expression "FUN_0034a750(uVar9,uVar21 >> 0x18)" identifier (argument_list "(uVar9,uVar21 >> 0x18)" ( identifier , (binary_expression "uVar21 >> 0x18" identifier >> number_literal) ))) ;) (expression_statement "FUN_00352af0("../../gold/aarch64-reloc-property.h",0xeb,"code_to_array_index");" (call_expression "FUN_00352af0("../../gold/aarch64-reloc-property.h",0xeb,"code_to_array_index")" identifier (argument_list "("../../gold/aarch64-reloc-property.h",0xeb,"code_to_array_index")" ( (string_literal ""../../gold/aarch64-reloc-property.h"" " string_content ") , number_literal , (string_literal ""code_to_array_index"" " string_content ") ))) ;) })) (if_statement "if (*DAT_0067dff8 == 0) {\n                    \n            FUN_0031d8d0(local_58,DAT_0067dff8,0);\n            pbVar18 = local_58[0];\n            uVar9 = gettext("cannot relocate %s in object file");\n            uVar21 = *local_120;\n                    \n            FUN_0034aed0(param_2,local_148,\n                         uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18,uVar9,pbVar18);\n            if (local_58[0] != abStack_48) {\n              FUN_0049e340();\n            }\n          }\n          else {\n            plVar3 = (long *)param_2[2];\n            local_90 = 0x80000000;\n            local_98 = 0xffffffff00000000;\n            local_88 = 0;\n            if (puVar10 == (undefined8 *)0x0) {\n              if ((*(byte *)((long)puVar22 + 0xb) & 0x40) != 0) {\n                uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n                    \n                cVar4 = FUN_00397bb0(plVar3,uVar21);\n                if (cVar4 != '\0') {\n                  lVar13 = *(long *)(param_1 + 0x28);\n                  if (lVar13 == 0) {\n                    \n                    FUN_002ed4a0();\n                    goto LAB_003108ca;\n                  }\n                  if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    \n                    \n                    FUN_00352af0("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar9 = *(undefined8 *)(lVar13 + 8);\n                  iVar7 = *(int *)(lVar13 + 0x68);\n                  local_88 = (**(code **)(*plVar3 + 0x150))(plVar3,uVar21);\n                  local_88 = (int)uVar9 + 0x20 + iVar7 * 0x10 + local_88;\n                }\n              }\n            }\n            else {\n                    \n              cVar4 = FUN_00228fa0(puVar10,*(undefined4 *)(*DAT_0067dff8 + 0x4c));\n              if (cVar4 != '\0') {\n                if (*(long *)(param_1 + 0x28) == 0) {\n                    \n                  FUN_002ed4a0();\n                  goto LAB_00310805;\n                }\n                local_88 = FUN_002f9c90(*(long *)(param_1 + 0x28),puVar10);\n              }\n            }\n            FUN_001a5bc0(&local_98);\n          }" if (parenthesized_expression "(*DAT_0067dff8 == 0)" ( (binary_expression "*DAT_0067dff8 == 0" (pointer_expression "*DAT_0067dff8" * identifier) == number_literal) )) (compound_statement "{\n                    \n            FUN_0031d8d0(local_58,DAT_0067dff8,0);\n            pbVar18 = local_58[0];\n            uVar9 = gettext("cannot relocate %s in object file");\n            uVar21 = *local_120;\n                    \n            FUN_0034aed0(param_2,local_148,\n                         uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18,uVar9,pbVar18);\n            if (local_58[0] != abStack_48) {\n              FUN_0049e340();\n            }\n          }" { (expression_statement "FUN_0031d8d0(local_58,DAT_0067dff8,0);" (call_expression "FUN_0031d8d0(local_58,DAT_0067dff8,0)" identifier (argument_list "(local_58,DAT_0067dff8,0)" ( identifier , identifier , number_literal ))) ;) (expression_statement "pbVar18 = local_58[0];" (assignment_expression "pbVar18 = local_58[0]" identifier = (subscript_expression "local_58[0]" identifier [ number_literal ])) ;) (expression_statement "uVar9 = gettext("cannot relocate %s in object file");" (assignment_expression "uVar9 = gettext("cannot relocate %s in object file")" identifier = (call_expression "gettext("cannot relocate %s in object file")" identifier (argument_list "("cannot relocate %s in object file")" ( (string_literal ""cannot relocate %s in object file"" " string_content ") )))) ;) (expression_statement "uVar21 = *local_120;" (assignment_expression "uVar21 = *local_120" identifier = (pointer_expression "*local_120" * identifier)) ;) (expression_statement "FUN_0034aed0(param_2,local_148,\n                         uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18,uVar9,pbVar18);" (call_expression "FUN_0034aed0(param_2,local_148,\n                         uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18,uVar9,pbVar18)" identifier (argument_list "(param_2,local_148,\n                         uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18,uVar9,pbVar18)" ( identifier , identifier , (binary_expression "uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18" (binary_expression "uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8" (binary_expression "uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8" (binary_expression "uVar21 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar21 & 0xff0000) >> 8" (parenthesized_expression "(uVar21 & 0xff0000)" ( (binary_expression "uVar21 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar21 & 0xff00) << 8" (parenthesized_expression "(uVar21 & 0xff00)" ( (binary_expression "uVar21 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar21 << 0x18" identifier << number_literal)) , identifier , identifier ))) ;) (if_statement "if (local_58[0] != abStack_48) {\n              FUN_0049e340();\n            }" if (parenthesized_expression "(local_58[0] != abStack_48)" ( (binary_expression "local_58[0] != abStack_48" (subscript_expression "local_58[0]" identifier [ number_literal ]) != identifier) )) (compound_statement "{\n              FUN_0049e340();\n            }" { (expression_statement "FUN_0049e340();" (call_expression "FUN_0049e340()" identifier (argument_list "()" ( ))) ;) })) }) (else_clause "else {\n            plVar3 = (long *)param_2[2];\n            local_90 = 0x80000000;\n            local_98 = 0xffffffff00000000;\n            local_88 = 0;\n            if (puVar10 == (undefined8 *)0x0) {\n              if ((*(byte *)((long)puVar22 + 0xb) & 0x40) != 0) {\n                uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n                    \n                cVar4 = FUN_00397bb0(plVar3,uVar21);\n                if (cVar4 != '\0') {\n                  lVar13 = *(long *)(param_1 + 0x28);\n                  if (lVar13 == 0) {\n                    \n                    FUN_002ed4a0();\n                    goto LAB_003108ca;\n                  }\n                  if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    \n                    \n                    FUN_00352af0("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar9 = *(undefined8 *)(lVar13 + 8);\n                  iVar7 = *(int *)(lVar13 + 0x68);\n                  local_88 = (**(code **)(*plVar3 + 0x150))(plVar3,uVar21);\n                  local_88 = (int)uVar9 + 0x20 + iVar7 * 0x10 + local_88;\n                }\n              }\n            }\n            else {\n                    \n              cVar4 = FUN_00228fa0(puVar10,*(undefined4 *)(*DAT_0067dff8 + 0x4c));\n              if (cVar4 != '\0') {\n                if (*(long *)(param_1 + 0x28) == 0) {\n                    \n                  FUN_002ed4a0();\n                  goto LAB_00310805;\n                }\n                local_88 = FUN_002f9c90(*(long *)(param_1 + 0x28),puVar10);\n              }\n            }\n            FUN_001a5bc0(&local_98);\n          }" else (compound_statement "{\n            plVar3 = (long *)param_2[2];\n            local_90 = 0x80000000;\n            local_98 = 0xffffffff00000000;\n            local_88 = 0;\n            if (puVar10 == (undefined8 *)0x0) {\n              if ((*(byte *)((long)puVar22 + 0xb) & 0x40) != 0) {\n                uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n                    \n                cVar4 = FUN_00397bb0(plVar3,uVar21);\n                if (cVar4 != '\0') {\n                  lVar13 = *(long *)(param_1 + 0x28);\n                  if (lVar13 == 0) {\n                    \n                    FUN_002ed4a0();\n                    goto LAB_003108ca;\n                  }\n                  if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    \n                    \n                    FUN_00352af0("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar9 = *(undefined8 *)(lVar13 + 8);\n                  iVar7 = *(int *)(lVar13 + 0x68);\n                  local_88 = (**(code **)(*plVar3 + 0x150))(plVar3,uVar21);\n                  local_88 = (int)uVar9 + 0x20 + iVar7 * 0x10 + local_88;\n                }\n              }\n            }\n            else {\n                    \n              cVar4 = FUN_00228fa0(puVar10,*(undefined4 *)(*DAT_0067dff8 + 0x4c));\n              if (cVar4 != '\0') {\n                if (*(long *)(param_1 + 0x28) == 0) {\n                    \n                  FUN_002ed4a0();\n                  goto LAB_00310805;\n                }\n                local_88 = FUN_002f9c90(*(long *)(param_1 + 0x28),puVar10);\n              }\n            }\n            FUN_001a5bc0(&local_98);\n          }" { (expression_statement "plVar3 = (long *)param_2[2];" (assignment_expression "plVar3 = (long *)param_2[2]" identifier = (cast_expression "(long *)param_2[2]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[2]" identifier [ number_literal ]))) ;) (expression_statement "local_90 = 0x80000000;" (assignment_expression "local_90 = 0x80000000" identifier = number_literal) ;) (expression_statement "local_98 = 0xffffffff00000000;" (assignment_expression "local_98 = 0xffffffff00000000" identifier = number_literal) ;) (expression_statement "local_88 = 0;" (assignment_expression "local_88 = 0" identifier = number_literal) ;) (if_statement "if (puVar10 == (undefined8 *)0x0) {\n              if ((*(byte *)((long)puVar22 + 0xb) & 0x40) != 0) {\n                uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n                    \n                cVar4 = FUN_00397bb0(plVar3,uVar21);\n                if (cVar4 != '\0') {\n                  lVar13 = *(long *)(param_1 + 0x28);\n                  if (lVar13 == 0) {\n                    \n                    FUN_002ed4a0();\n                    goto LAB_003108ca;\n                  }\n                  if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    \n                    \n                    FUN_00352af0("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar9 = *(undefined8 *)(lVar13 + 8);\n                  iVar7 = *(int *)(lVar13 + 0x68);\n                  local_88 = (**(code **)(*plVar3 + 0x150))(plVar3,uVar21);\n                  local_88 = (int)uVar9 + 0x20 + iVar7 * 0x10 + local_88;\n                }\n              }\n            }\n            else {\n                    \n              cVar4 = FUN_00228fa0(puVar10,*(undefined4 *)(*DAT_0067dff8 + 0x4c));\n              if (cVar4 != '\0') {\n                if (*(long *)(param_1 + 0x28) == 0) {\n                    \n                  FUN_002ed4a0();\n                  goto LAB_00310805;\n                }\n                local_88 = FUN_002f9c90(*(long *)(param_1 + 0x28),puVar10);\n              }\n            }" if (parenthesized_expression "(puVar10 == (undefined8 *)0x0)" ( (binary_expression "puVar10 == (undefined8 *)0x0" identifier == (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              if ((*(byte *)((long)puVar22 + 0xb) & 0x40) != 0) {\n                uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n                    \n                cVar4 = FUN_00397bb0(plVar3,uVar21);\n                if (cVar4 != '\0') {\n                  lVar13 = *(long *)(param_1 + 0x28);\n                  if (lVar13 == 0) {\n                    \n                    FUN_002ed4a0();\n                    goto LAB_003108ca;\n                  }\n                  if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    \n                    \n                    FUN_00352af0("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar9 = *(undefined8 *)(lVar13 + 8);\n                  iVar7 = *(int *)(lVar13 + 0x68);\n                  local_88 = (**(code **)(*plVar3 + 0x150))(plVar3,uVar21);\n                  local_88 = (int)uVar9 + 0x20 + iVar7 * 0x10 + local_88;\n                }\n              }\n            }" { (if_statement "if ((*(byte *)((long)puVar22 + 0xb) & 0x40) != 0) {\n                uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n                    \n                cVar4 = FUN_00397bb0(plVar3,uVar21);\n                if (cVar4 != '\0') {\n                  lVar13 = *(long *)(param_1 + 0x28);\n                  if (lVar13 == 0) {\n                    \n                    FUN_002ed4a0();\n                    goto LAB_003108ca;\n                  }\n                  if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    \n                    \n                    FUN_00352af0("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar9 = *(undefined8 *)(lVar13 + 8);\n                  iVar7 = *(int *)(lVar13 + 0x68);\n                  local_88 = (**(code **)(*plVar3 + 0x150))(plVar3,uVar21);\n                  local_88 = (int)uVar9 + 0x20 + iVar7 * 0x10 + local_88;\n                }\n              }" if (parenthesized_expression "((*(byte *)((long)puVar22 + 0xb) & 0x40) != 0)" ( (binary_expression "(*(byte *)((long)puVar22 + 0xb) & 0x40) != 0" (parenthesized_expression "(*(byte *)((long)puVar22 + 0xb) & 0x40)" ( (binary_expression "*(byte *)((long)puVar22 + 0xb) & 0x40" (pointer_expression "*(byte *)((long)puVar22 + 0xb)" * (cast_expression "(byte *)((long)puVar22 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar22 + 0xb)" ( (binary_expression "(long)puVar22 + 0xb" (cast_expression "(long)puVar22" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n                uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n                    \n                cVar4 = FUN_00397bb0(plVar3,uVar21);\n                if (cVar4 != '\0') {\n                  lVar13 = *(long *)(param_1 + 0x28);\n                  if (lVar13 == 0) {\n                    \n                    FUN_002ed4a0();\n                    goto LAB_003108ca;\n                  }\n                  if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    \n                    \n                    FUN_00352af0("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar9 = *(undefined8 *)(lVar13 + 8);\n                  iVar7 = *(int *)(lVar13 + 0x68);\n                  local_88 = (**(code **)(*plVar3 + 0x150))(plVar3,uVar21);\n                  local_88 = (int)uVar9 + 0x20 + iVar7 * 0x10 + local_88;\n                }\n              }" { (expression_statement "uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;" (assignment_expression "uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8" identifier = (binary_expression "((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8" (parenthesized_expression "((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18)" ( (binary_expression "(uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18" (binary_expression "(uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8" (binary_expression "(uVar21 & 0xff0000) >> 8" (parenthesized_expression "(uVar21 & 0xff0000)" ( (binary_expression "uVar21 & 0xff0000" identifier & number_literal) )) >> number_literal) | (binary_expression "(uVar21 & 0xff00) << 8" (parenthesized_expression "(uVar21 & 0xff00)" ( (binary_expression "uVar21 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar21 << 0x18" identifier << number_literal)) )) >> number_literal)) ;) (expression_statement "cVar4 = FUN_00397bb0(plVar3,uVar21);" (assignment_expression "cVar4 = FUN_00397bb0(plVar3,uVar21)" identifier = (call_expression "FUN_00397bb0(plVar3,uVar21)" identifier (argument_list "(plVar3,uVar21)" ( identifier , identifier )))) ;) (if_statement "if (cVar4 != '\0') {\n                  lVar13 = *(long *)(param_1 + 0x28);\n                  if (lVar13 == 0) {\n                    \n                    FUN_002ed4a0();\n                    goto LAB_003108ca;\n                  }\n                  if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    \n                    \n                    FUN_00352af0("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar9 = *(undefined8 *)(lVar13 + 8);\n                  iVar7 = *(int *)(lVar13 + 0x68);\n                  local_88 = (**(code **)(*plVar3 + 0x150))(plVar3,uVar21);\n                  local_88 = (int)uVar9 + 0x20 + iVar7 * 0x10 + local_88;\n                }" if (parenthesized_expression "(cVar4 != '\0')" ( (binary_expression "cVar4 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  lVar13 = *(long *)(param_1 + 0x28);\n                  if (lVar13 == 0) {\n                    \n                    FUN_002ed4a0();\n                    goto LAB_003108ca;\n                  }\n                  if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    \n                    \n                    FUN_00352af0("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar9 = *(undefined8 *)(lVar13 + 8);\n                  iVar7 = *(int *)(lVar13 + 0x68);\n                  local_88 = (**(code **)(*plVar3 + 0x150))(plVar3,uVar21);\n                  local_88 = (int)uVar9 + 0x20 + iVar7 * 0x10 + local_88;\n                }" { (expression_statement "lVar13 = *(long *)(param_1 + 0x28);" (assignment_expression "lVar13 = *(long *)(param_1 + 0x28)" identifier = (pointer_expression "*(long *)(param_1 + 0x28)" * (cast_expression "(long *)(param_1 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) ))))) ;) (if_statement "if (lVar13 == 0) {\n                    \n                    FUN_002ed4a0();\n                    goto LAB_003108ca;\n                  }" if (parenthesized_expression "(lVar13 == 0)" ( (binary_expression "lVar13 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n                    FUN_002ed4a0();\n                    goto LAB_003108ca;\n                  }" { (expression_statement "FUN_002ed4a0();" (call_expression "FUN_002ed4a0()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_003108ca;" goto statement_identifier ;) })) (if_statement "if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    \n                    \n                    FUN_00352af0("../../gold/output.h",0xc5,"address");\n                  }" if (parenthesized_expression "((*(byte *)(lVar13 + 0x20) & 1) == 0)" ( (binary_expression "(*(byte *)(lVar13 + 0x20) & 1) == 0" (parenthesized_expression "(*(byte *)(lVar13 + 0x20) & 1)" ( (binary_expression "*(byte *)(lVar13 + 0x20) & 1" (pointer_expression "*(byte *)(lVar13 + 0x20)" * (cast_expression "(byte *)(lVar13 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x20)" ( (binary_expression "lVar13 + 0x20" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                    \n                    \n                    FUN_00352af0("../../gold/output.h",0xc5,"address");\n                  }" { (expression_statement "FUN_00352af0("../../gold/output.h",0xc5,"address");" (call_expression "FUN_00352af0("../../gold/output.h",0xc5,"address")" identifier (argument_list "("../../gold/output.h",0xc5,"address")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""address"" " string_content ") ))) ;) })) (expression_statement "uVar9 = *(undefined8 *)(lVar13 + 8);" (assignment_expression "uVar9 = *(undefined8 *)(lVar13 + 8)" identifier = (pointer_expression "*(undefined8 *)(lVar13 + 8)" * (cast_expression "(undefined8 *)(lVar13 + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 8)" ( (binary_expression "lVar13 + 8" identifier + number_literal) ))))) ;) (expression_statement "iVar7 = *(int *)(lVar13 + 0x68);" (assignment_expression "iVar7 = *(int *)(lVar13 + 0x68)" identifier = (pointer_expression "*(int *)(lVar13 + 0x68)" * (cast_expression "(int *)(lVar13 + 0x68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x68)" ( (binary_expression "lVar13 + 0x68" identifier + number_literal) ))))) ;) (expression_statement "local_88 = (**(code **)(*plVar3 + 0x150))(plVar3,uVar21);" (assignment_expression "local_88 = (**(code **)(*plVar3 + 0x150))(plVar3,uVar21)" identifier = (call_expression "(**(code **)(*plVar3 + 0x150))(plVar3,uVar21)" (parenthesized_expression "(**(code **)(*plVar3 + 0x150))" ( (pointer_expression "**(code **)(*plVar3 + 0x150)" * (pointer_expression "*(code **)(*plVar3 + 0x150)" * (cast_expression "(code **)(*plVar3 + 0x150)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar3 + 0x150)" ( (binary_expression "*plVar3 + 0x150" (pointer_expression "*plVar3" * identifier) + number_literal) ))))) )) (argument_list "(plVar3,uVar21)" ( identifier , identifier )))) ;) (expression_statement "local_88 = (int)uVar9 + 0x20 + iVar7 * 0x10 + local_88;" (assignment_expression "local_88 = (int)uVar9 + 0x20 + iVar7 * 0x10 + local_88" identifier = (binary_expression "(int)uVar9 + 0x20 + iVar7 * 0x10 + local_88" (binary_expression "(int)uVar9 + 0x20 + iVar7 * 0x10" (binary_expression "(int)uVar9 + 0x20" (cast_expression "(int)uVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) + (binary_expression "iVar7 * 0x10" identifier * number_literal)) + identifier)) ;) })) })) }) (else_clause "else {\n                    \n              cVar4 = FUN_00228fa0(puVar10,*(undefined4 *)(*DAT_0067dff8 + 0x4c));\n              if (cVar4 != '\0') {\n                if (*(long *)(param_1 + 0x28) == 0) {\n                    \n                  FUN_002ed4a0();\n                  goto LAB_00310805;\n                }\n                local_88 = FUN_002f9c90(*(long *)(param_1 + 0x28),puVar10);\n              }\n            }" else (compound_statement "{\n                    \n              cVar4 = FUN_00228fa0(puVar10,*(undefined4 *)(*DAT_0067dff8 + 0x4c));\n              if (cVar4 != '\0') {\n                if (*(long *)(param_1 + 0x28) == 0) {\n                    \n                  FUN_002ed4a0();\n                  goto LAB_00310805;\n                }\n                local_88 = FUN_002f9c90(*(long *)(param_1 + 0x28),puVar10);\n              }\n            }" { (expression_statement "cVar4 = FUN_00228fa0(puVar10,*(undefined4 *)(*DAT_0067dff8 + 0x4c));" (assignment_expression "cVar4 = FUN_00228fa0(puVar10,*(undefined4 *)(*DAT_0067dff8 + 0x4c))" identifier = (call_expression "FUN_00228fa0(puVar10,*(undefined4 *)(*DAT_0067dff8 + 0x4c))" identifier (argument_list "(puVar10,*(undefined4 *)(*DAT_0067dff8 + 0x4c))" ( identifier , (pointer_expression "*(undefined4 *)(*DAT_0067dff8 + 0x4c)" * (cast_expression "(undefined4 *)(*DAT_0067dff8 + 0x4c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*DAT_0067dff8 + 0x4c)" ( (binary_expression "*DAT_0067dff8 + 0x4c" (pointer_expression "*DAT_0067dff8" * identifier) + number_literal) )))) )))) ;) (if_statement "if (cVar4 != '\0') {\n                if (*(long *)(param_1 + 0x28) == 0) {\n                    \n                  FUN_002ed4a0();\n                  goto LAB_00310805;\n                }\n                local_88 = FUN_002f9c90(*(long *)(param_1 + 0x28),puVar10);\n              }" if (parenthesized_expression "(cVar4 != '\0')" ( (binary_expression "cVar4 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                if (*(long *)(param_1 + 0x28) == 0) {\n                    \n                  FUN_002ed4a0();\n                  goto LAB_00310805;\n                }\n                local_88 = FUN_002f9c90(*(long *)(param_1 + 0x28),puVar10);\n              }" { (if_statement "if (*(long *)(param_1 + 0x28) == 0) {\n                    \n                  FUN_002ed4a0();\n                  goto LAB_00310805;\n                }" if (parenthesized_expression "(*(long *)(param_1 + 0x28) == 0)" ( (binary_expression "*(long *)(param_1 + 0x28) == 0" (pointer_expression "*(long *)(param_1 + 0x28)" * (cast_expression "(long *)(param_1 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    \n                  FUN_002ed4a0();\n                  goto LAB_00310805;\n                }" { (expression_statement "FUN_002ed4a0();" (call_expression "FUN_002ed4a0()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_00310805;" goto statement_identifier ;) })) (expression_statement "local_88 = FUN_002f9c90(*(long *)(param_1 + 0x28),puVar10);" (assignment_expression "local_88 = FUN_002f9c90(*(long *)(param_1 + 0x28),puVar10)" identifier = (call_expression "FUN_002f9c90(*(long *)(param_1 + 0x28),puVar10)" identifier (argument_list "(*(long *)(param_1 + 0x28),puVar10)" ( (pointer_expression "*(long *)(param_1 + 0x28)" * (cast_expression "(long *)(param_1 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) )))) , identifier )))) ;) })) }))) (expression_statement "FUN_001a5bc0(&local_98);" (call_expression "FUN_001a5bc0(&local_98)" identifier (argument_list "(&local_98)" ( (pointer_expression "&local_98" & identifier) ))) ;) }))) (if_statement "if (puVar10 != (undefined8 *)0x0) {\n            bVar16 = *(byte *)((long)puVar10 + 0x3a);\n            bVar5 = bVar16 & 7;\n            if ((bVar16 & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) != 0) || ((*(byte *)((long)puVar10 + 0x3b) & 0x20) == 0)) {\n                if (*(code **)(*(long *)puVar10[2] + 0x28) != FUN_001a4aa0) {\n                  lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                  if (lVar13 != 0) {\n                    bVar16 = *(byte *)((long)puVar10 + 0x3a);\n                    bVar5 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar5 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)puVar10 + 0x3b)) goto LAB_00310305;\n                    bVar5 = *(byte *)((long)puVar10 + 0x39);\n                    if ((bVar5 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }\nLAB_0031015a:\n                bVar16 = bVar16 & 7;\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                if ((*(byte *)((long)puVar10 + 0x39) & 3) == 0) goto LAB_003101c0;\nLAB_00310166:\n                if (((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)\n                    ) && ((*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0)))) {\nLAB_00310293:\n                  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_003108ca:\n                    \n                    \n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') {\n                    if (bVar16 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)(puVar10[2] + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }\n                if (bVar5 == 2) {\n                  uVar9 = gettext("hidden");\n                }\n                else if (bVar5 < 3) {\n                  if (bVar5 != 1) {\n                    \n                    FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar9 = gettext("internal");\n                }\n                else {\n                  uVar9 = gettext("protected");\n                }\n                uVar11 = *puVar10;\n                uVar12 = gettext("%s symbol \'%s\' is not defined locally");\n                    \n                FUN_0034a750(uVar12,uVar9,uVar11);\n                goto LAB_003101c0;\n              }\nLAB_0031020c:\n              if ((*(byte *)(puVar10 + 7) >> 4 == 2) || ((*(byte *)((long)puVar10 + 0x3c) & 2) != 0)\n                 ) {\nLAB_00310438:\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_0031043f:\n                if (bVar5 == 0) goto LAB_003101c0;\n                bVar16 = *(byte *)((long)puVar10 + 0x3a) & 7;\n                if (bVar16 != 0) goto LAB_00310270;\n                goto LAB_00310166;\n              }\n              if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\n                    \n                    \n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') goto LAB_00310438;\n              if (*(char *)((long)puVar10 + 0x3b) < '\0') {\n                if (bVar5 != 0) goto LAB_00310260;\nLAB_003105b8:\n                if (*(code **)(*(long *)puVar10[2] + 0x28) == FUN_001a4aa0) goto LAB_0031015a;\n                    \n                lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                if (lVar13 == 0) goto LAB_00310438;\n              }\nLAB_00310305:\n              plVar3 = *(long **)(PTR_DAT_0067cb08 + 0x18);\n              if (plVar3 == (long *)0x0) {\nLAB_00310805:\n                    \n                    \n                FUN_00352af0("../../gold/parameters.h",0x69,"target");\n              }\n              if ((*(code **)(*plVar3 + 0x38) != FUN_001a49e0) &&\n                 (cVar4 = (**(code **)(*plVar3 + 0x38))(plVar3,puVar10), cVar4 != '\0'))\n              goto LAB_00310438;\n              lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar13 == 0) {\n                    \n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              pbVar18 = *(byte **)(lVar13 + 0x6c40);\n              bVar24 = false;\n              bVar26 = pbVar18 == (byte *)0x0;\n              if (bVar26) {\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_003103c9:\n                if ((bVar5 == 2) ||\n                   ((*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0'))))\n                goto LAB_003103e1;\n                goto LAB_0031043f;\n              }\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"ignore-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar24 = *pbVar19 < *pbVar20;\n                bVar26 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar26);\n              bVar25 = false;\n              bVar24 = (!bVar24 && !bVar26) == bVar24;\n              if (bVar24) goto LAB_00310438;\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"report-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar25 = *pbVar19 < *pbVar20;\n                bVar24 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar15 = 0x17;\n                pbVar19 = pbVar18;\n                pbVar20 = (byte *)"ignore-in-object-files";\n                do {\n                  if (lVar15 == 0) break;\n                  lVar15 = lVar15 + -1;\n                  bVar26 = *pbVar19 < *pbVar20;\n                  bVar24 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if ((!bVar24) || (bVar24 = (*(byte *)((long)puVar10 + 0x3b) & 1) == 0, !bVar24)) {\n                  bVar26 = false;\n                  lVar15 = 0x16;\n                  pbVar19 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    if (lVar15 == 0) break;\n                    lVar15 = lVar15 + -1;\n                    bVar26 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  if (((!bVar26 && !bVar24) != bVar26) || (*(char *)((long)puVar10 + 0x3a) < '\0'))\n                  goto LAB_003103c9;\n                }\n                goto LAB_0031043f;\n              }\nLAB_003103e1:\n              FUN_0034b9f0(puVar10,param_2,local_148,local_140);\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            else {\n              if (bVar5 == 4) goto LAB_0031020c;\nLAB_00310260:\n              bVar5 = *(byte *)((long)puVar10 + 0x39);\n              if ((bVar5 & 3) != 0) {\nLAB_0031026d:\n                bVar5 = bVar5 & 3;\n                bVar16 = bVar16 & 7;\nLAB_00310270:\n                if (((bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2)) &&\n                   (bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0)) goto LAB_00310293;\n              }\nLAB_003101c0:\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            if ((bVar16 & 4) != 0) {\n              FUN_00446c20(*param_2 + 0x1e0,puVar10,param_2,local_148,local_140);\n            }\n          }" if (parenthesized_expression "(puVar10 != (undefined8 *)0x0)" ( (binary_expression "puVar10 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            bVar16 = *(byte *)((long)puVar10 + 0x3a);\n            bVar5 = bVar16 & 7;\n            if ((bVar16 & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) != 0) || ((*(byte *)((long)puVar10 + 0x3b) & 0x20) == 0)) {\n                if (*(code **)(*(long *)puVar10[2] + 0x28) != FUN_001a4aa0) {\n                  lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                  if (lVar13 != 0) {\n                    bVar16 = *(byte *)((long)puVar10 + 0x3a);\n                    bVar5 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar5 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)puVar10 + 0x3b)) goto LAB_00310305;\n                    bVar5 = *(byte *)((long)puVar10 + 0x39);\n                    if ((bVar5 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }\nLAB_0031015a:\n                bVar16 = bVar16 & 7;\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                if ((*(byte *)((long)puVar10 + 0x39) & 3) == 0) goto LAB_003101c0;\nLAB_00310166:\n                if (((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)\n                    ) && ((*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0)))) {\nLAB_00310293:\n                  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_003108ca:\n                    \n                    \n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') {\n                    if (bVar16 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)(puVar10[2] + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }\n                if (bVar5 == 2) {\n                  uVar9 = gettext("hidden");\n                }\n                else if (bVar5 < 3) {\n                  if (bVar5 != 1) {\n                    \n                    FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar9 = gettext("internal");\n                }\n                else {\n                  uVar9 = gettext("protected");\n                }\n                uVar11 = *puVar10;\n                uVar12 = gettext("%s symbol \'%s\' is not defined locally");\n                    \n                FUN_0034a750(uVar12,uVar9,uVar11);\n                goto LAB_003101c0;\n              }\nLAB_0031020c:\n              if ((*(byte *)(puVar10 + 7) >> 4 == 2) || ((*(byte *)((long)puVar10 + 0x3c) & 2) != 0)\n                 ) {\nLAB_00310438:\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_0031043f:\n                if (bVar5 == 0) goto LAB_003101c0;\n                bVar16 = *(byte *)((long)puVar10 + 0x3a) & 7;\n                if (bVar16 != 0) goto LAB_00310270;\n                goto LAB_00310166;\n              }\n              if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\n                    \n                    \n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') goto LAB_00310438;\n              if (*(char *)((long)puVar10 + 0x3b) < '\0') {\n                if (bVar5 != 0) goto LAB_00310260;\nLAB_003105b8:\n                if (*(code **)(*(long *)puVar10[2] + 0x28) == FUN_001a4aa0) goto LAB_0031015a;\n                    \n                lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                if (lVar13 == 0) goto LAB_00310438;\n              }\nLAB_00310305:\n              plVar3 = *(long **)(PTR_DAT_0067cb08 + 0x18);\n              if (plVar3 == (long *)0x0) {\nLAB_00310805:\n                    \n                    \n                FUN_00352af0("../../gold/parameters.h",0x69,"target");\n              }\n              if ((*(code **)(*plVar3 + 0x38) != FUN_001a49e0) &&\n                 (cVar4 = (**(code **)(*plVar3 + 0x38))(plVar3,puVar10), cVar4 != '\0'))\n              goto LAB_00310438;\n              lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar13 == 0) {\n                    \n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              pbVar18 = *(byte **)(lVar13 + 0x6c40);\n              bVar24 = false;\n              bVar26 = pbVar18 == (byte *)0x0;\n              if (bVar26) {\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_003103c9:\n                if ((bVar5 == 2) ||\n                   ((*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0'))))\n                goto LAB_003103e1;\n                goto LAB_0031043f;\n              }\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"ignore-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar24 = *pbVar19 < *pbVar20;\n                bVar26 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar26);\n              bVar25 = false;\n              bVar24 = (!bVar24 && !bVar26) == bVar24;\n              if (bVar24) goto LAB_00310438;\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"report-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar25 = *pbVar19 < *pbVar20;\n                bVar24 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar15 = 0x17;\n                pbVar19 = pbVar18;\n                pbVar20 = (byte *)"ignore-in-object-files";\n                do {\n                  if (lVar15 == 0) break;\n                  lVar15 = lVar15 + -1;\n                  bVar26 = *pbVar19 < *pbVar20;\n                  bVar24 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if ((!bVar24) || (bVar24 = (*(byte *)((long)puVar10 + 0x3b) & 1) == 0, !bVar24)) {\n                  bVar26 = false;\n                  lVar15 = 0x16;\n                  pbVar19 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    if (lVar15 == 0) break;\n                    lVar15 = lVar15 + -1;\n                    bVar26 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  if (((!bVar26 && !bVar24) != bVar26) || (*(char *)((long)puVar10 + 0x3a) < '\0'))\n                  goto LAB_003103c9;\n                }\n                goto LAB_0031043f;\n              }\nLAB_003103e1:\n              FUN_0034b9f0(puVar10,param_2,local_148,local_140);\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            else {\n              if (bVar5 == 4) goto LAB_0031020c;\nLAB_00310260:\n              bVar5 = *(byte *)((long)puVar10 + 0x39);\n              if ((bVar5 & 3) != 0) {\nLAB_0031026d:\n                bVar5 = bVar5 & 3;\n                bVar16 = bVar16 & 7;\nLAB_00310270:\n                if (((bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2)) &&\n                   (bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0)) goto LAB_00310293;\n              }\nLAB_003101c0:\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            if ((bVar16 & 4) != 0) {\n              FUN_00446c20(*param_2 + 0x1e0,puVar10,param_2,local_148,local_140);\n            }\n          }" { (expression_statement "bVar16 = *(byte *)((long)puVar10 + 0x3a);" (assignment_expression "bVar16 = *(byte *)((long)puVar10 + 0x3a)" identifier = (pointer_expression "*(byte *)((long)puVar10 + 0x3a)" * (cast_expression "(byte *)((long)puVar10 + 0x3a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar10 + 0x3a)" ( (binary_expression "(long)puVar10 + 0x3a" (cast_expression "(long)puVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (expression_statement "bVar5 = bVar16 & 7;" (assignment_expression "bVar5 = bVar16 & 7" identifier = (binary_expression "bVar16 & 7" identifier & number_literal)) ;) (if_statement "if ((bVar16 & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) != 0) || ((*(byte *)((long)puVar10 + 0x3b) & 0x20) == 0)) {\n                if (*(code **)(*(long *)puVar10[2] + 0x28) != FUN_001a4aa0) {\n                  lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                  if (lVar13 != 0) {\n                    bVar16 = *(byte *)((long)puVar10 + 0x3a);\n                    bVar5 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar5 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)puVar10 + 0x3b)) goto LAB_00310305;\n                    bVar5 = *(byte *)((long)puVar10 + 0x39);\n                    if ((bVar5 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }\nLAB_0031015a:\n                bVar16 = bVar16 & 7;\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                if ((*(byte *)((long)puVar10 + 0x39) & 3) == 0) goto LAB_003101c0;\nLAB_00310166:\n                if (((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)\n                    ) && ((*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0)))) {\nLAB_00310293:\n                  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_003108ca:\n                    \n                    \n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') {\n                    if (bVar16 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)(puVar10[2] + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }\n                if (bVar5 == 2) {\n                  uVar9 = gettext("hidden");\n                }\n                else if (bVar5 < 3) {\n                  if (bVar5 != 1) {\n                    \n                    FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar9 = gettext("internal");\n                }\n                else {\n                  uVar9 = gettext("protected");\n                }\n                uVar11 = *puVar10;\n                uVar12 = gettext("%s symbol \'%s\' is not defined locally");\n                    \n                FUN_0034a750(uVar12,uVar9,uVar11);\n                goto LAB_003101c0;\n              }\nLAB_0031020c:\n              if ((*(byte *)(puVar10 + 7) >> 4 == 2) || ((*(byte *)((long)puVar10 + 0x3c) & 2) != 0)\n                 ) {\nLAB_00310438:\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_0031043f:\n                if (bVar5 == 0) goto LAB_003101c0;\n                bVar16 = *(byte *)((long)puVar10 + 0x3a) & 7;\n                if (bVar16 != 0) goto LAB_00310270;\n                goto LAB_00310166;\n              }\n              if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\n                    \n                    \n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') goto LAB_00310438;\n              if (*(char *)((long)puVar10 + 0x3b) < '\0') {\n                if (bVar5 != 0) goto LAB_00310260;\nLAB_003105b8:\n                if (*(code **)(*(long *)puVar10[2] + 0x28) == FUN_001a4aa0) goto LAB_0031015a;\n                    \n                lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                if (lVar13 == 0) goto LAB_00310438;\n              }\nLAB_00310305:\n              plVar3 = *(long **)(PTR_DAT_0067cb08 + 0x18);\n              if (plVar3 == (long *)0x0) {\nLAB_00310805:\n                    \n                    \n                FUN_00352af0("../../gold/parameters.h",0x69,"target");\n              }\n              if ((*(code **)(*plVar3 + 0x38) != FUN_001a49e0) &&\n                 (cVar4 = (**(code **)(*plVar3 + 0x38))(plVar3,puVar10), cVar4 != '\0'))\n              goto LAB_00310438;\n              lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar13 == 0) {\n                    \n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              pbVar18 = *(byte **)(lVar13 + 0x6c40);\n              bVar24 = false;\n              bVar26 = pbVar18 == (byte *)0x0;\n              if (bVar26) {\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_003103c9:\n                if ((bVar5 == 2) ||\n                   ((*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0'))))\n                goto LAB_003103e1;\n                goto LAB_0031043f;\n              }\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"ignore-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar24 = *pbVar19 < *pbVar20;\n                bVar26 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar26);\n              bVar25 = false;\n              bVar24 = (!bVar24 && !bVar26) == bVar24;\n              if (bVar24) goto LAB_00310438;\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"report-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar25 = *pbVar19 < *pbVar20;\n                bVar24 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar15 = 0x17;\n                pbVar19 = pbVar18;\n                pbVar20 = (byte *)"ignore-in-object-files";\n                do {\n                  if (lVar15 == 0) break;\n                  lVar15 = lVar15 + -1;\n                  bVar26 = *pbVar19 < *pbVar20;\n                  bVar24 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if ((!bVar24) || (bVar24 = (*(byte *)((long)puVar10 + 0x3b) & 1) == 0, !bVar24)) {\n                  bVar26 = false;\n                  lVar15 = 0x16;\n                  pbVar19 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    if (lVar15 == 0) break;\n                    lVar15 = lVar15 + -1;\n                    bVar26 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  if (((!bVar26 && !bVar24) != bVar26) || (*(char *)((long)puVar10 + 0x3a) < '\0'))\n                  goto LAB_003103c9;\n                }\n                goto LAB_0031043f;\n              }\nLAB_003103e1:\n              FUN_0034b9f0(puVar10,param_2,local_148,local_140);\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            else {\n              if (bVar5 == 4) goto LAB_0031020c;\nLAB_00310260:\n              bVar5 = *(byte *)((long)puVar10 + 0x39);\n              if ((bVar5 & 3) != 0) {\nLAB_0031026d:\n                bVar5 = bVar5 & 3;\n                bVar16 = bVar16 & 7;\nLAB_00310270:\n                if (((bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2)) &&\n                   (bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0)) goto LAB_00310293;\n              }\nLAB_003101c0:\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }" if (parenthesized_expression "((bVar16 & 7) == 0)" ( (binary_expression "(bVar16 & 7) == 0" (parenthesized_expression "(bVar16 & 7)" ( (binary_expression "bVar16 & 7" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n              if ((*(int *)(puVar10 + 3) != 0) || ((*(byte *)((long)puVar10 + 0x3b) & 0x20) == 0)) {\n                if (*(code **)(*(long *)puVar10[2] + 0x28) != FUN_001a4aa0) {\n                  lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                  if (lVar13 != 0) {\n                    bVar16 = *(byte *)((long)puVar10 + 0x3a);\n                    bVar5 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar5 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)puVar10 + 0x3b)) goto LAB_00310305;\n                    bVar5 = *(byte *)((long)puVar10 + 0x39);\n                    if ((bVar5 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }\nLAB_0031015a:\n                bVar16 = bVar16 & 7;\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                if ((*(byte *)((long)puVar10 + 0x39) & 3) == 0) goto LAB_003101c0;\nLAB_00310166:\n                if (((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)\n                    ) && ((*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0)))) {\nLAB_00310293:\n                  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_003108ca:\n                    \n                    \n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') {\n                    if (bVar16 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)(puVar10[2] + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }\n                if (bVar5 == 2) {\n                  uVar9 = gettext("hidden");\n                }\n                else if (bVar5 < 3) {\n                  if (bVar5 != 1) {\n                    \n                    FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar9 = gettext("internal");\n                }\n                else {\n                  uVar9 = gettext("protected");\n                }\n                uVar11 = *puVar10;\n                uVar12 = gettext("%s symbol \'%s\' is not defined locally");\n                    \n                FUN_0034a750(uVar12,uVar9,uVar11);\n                goto LAB_003101c0;\n              }\nLAB_0031020c:\n              if ((*(byte *)(puVar10 + 7) >> 4 == 2) || ((*(byte *)((long)puVar10 + 0x3c) & 2) != 0)\n                 ) {\nLAB_00310438:\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_0031043f:\n                if (bVar5 == 0) goto LAB_003101c0;\n                bVar16 = *(byte *)((long)puVar10 + 0x3a) & 7;\n                if (bVar16 != 0) goto LAB_00310270;\n                goto LAB_00310166;\n              }\n              if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\n                    \n                    \n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') goto LAB_00310438;\n              if (*(char *)((long)puVar10 + 0x3b) < '\0') {\n                if (bVar5 != 0) goto LAB_00310260;\nLAB_003105b8:\n                if (*(code **)(*(long *)puVar10[2] + 0x28) == FUN_001a4aa0) goto LAB_0031015a;\n                    \n                lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                if (lVar13 == 0) goto LAB_00310438;\n              }\nLAB_00310305:\n              plVar3 = *(long **)(PTR_DAT_0067cb08 + 0x18);\n              if (plVar3 == (long *)0x0) {\nLAB_00310805:\n                    \n                    \n                FUN_00352af0("../../gold/parameters.h",0x69,"target");\n              }\n              if ((*(code **)(*plVar3 + 0x38) != FUN_001a49e0) &&\n                 (cVar4 = (**(code **)(*plVar3 + 0x38))(plVar3,puVar10), cVar4 != '\0'))\n              goto LAB_00310438;\n              lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar13 == 0) {\n                    \n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              pbVar18 = *(byte **)(lVar13 + 0x6c40);\n              bVar24 = false;\n              bVar26 = pbVar18 == (byte *)0x0;\n              if (bVar26) {\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_003103c9:\n                if ((bVar5 == 2) ||\n                   ((*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0'))))\n                goto LAB_003103e1;\n                goto LAB_0031043f;\n              }\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"ignore-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar24 = *pbVar19 < *pbVar20;\n                bVar26 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar26);\n              bVar25 = false;\n              bVar24 = (!bVar24 && !bVar26) == bVar24;\n              if (bVar24) goto LAB_00310438;\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"report-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar25 = *pbVar19 < *pbVar20;\n                bVar24 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar15 = 0x17;\n                pbVar19 = pbVar18;\n                pbVar20 = (byte *)"ignore-in-object-files";\n                do {\n                  if (lVar15 == 0) break;\n                  lVar15 = lVar15 + -1;\n                  bVar26 = *pbVar19 < *pbVar20;\n                  bVar24 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if ((!bVar24) || (bVar24 = (*(byte *)((long)puVar10 + 0x3b) & 1) == 0, !bVar24)) {\n                  bVar26 = false;\n                  lVar15 = 0x16;\n                  pbVar19 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    if (lVar15 == 0) break;\n                    lVar15 = lVar15 + -1;\n                    bVar26 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  if (((!bVar26 && !bVar24) != bVar26) || (*(char *)((long)puVar10 + 0x3a) < '\0'))\n                  goto LAB_003103c9;\n                }\n                goto LAB_0031043f;\n              }\nLAB_003103e1:\n              FUN_0034b9f0(puVar10,param_2,local_148,local_140);\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }" { (if_statement "if ((*(int *)(puVar10 + 3) != 0) || ((*(byte *)((long)puVar10 + 0x3b) & 0x20) == 0)) {\n                if (*(code **)(*(long *)puVar10[2] + 0x28) != FUN_001a4aa0) {\n                  lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                  if (lVar13 != 0) {\n                    bVar16 = *(byte *)((long)puVar10 + 0x3a);\n                    bVar5 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar5 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)puVar10 + 0x3b)) goto LAB_00310305;\n                    bVar5 = *(byte *)((long)puVar10 + 0x39);\n                    if ((bVar5 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }\nLAB_0031015a:\n                bVar16 = bVar16 & 7;\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                if ((*(byte *)((long)puVar10 + 0x39) & 3) == 0) goto LAB_003101c0;\nLAB_00310166:\n                if (((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)\n                    ) && ((*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0)))) {\nLAB_00310293:\n                  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_003108ca:\n                    \n                    \n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') {\n                    if (bVar16 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)(puVar10[2] + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }\n                if (bVar5 == 2) {\n                  uVar9 = gettext("hidden");\n                }\n                else if (bVar5 < 3) {\n                  if (bVar5 != 1) {\n                    \n                    FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar9 = gettext("internal");\n                }\n                else {\n                  uVar9 = gettext("protected");\n                }\n                uVar11 = *puVar10;\n                uVar12 = gettext("%s symbol \'%s\' is not defined locally");\n                    \n                FUN_0034a750(uVar12,uVar9,uVar11);\n                goto LAB_003101c0;\n              }" if (parenthesized_expression "((*(int *)(puVar10 + 3) != 0) || ((*(byte *)((long)puVar10 + 0x3b) & 0x20) == 0))" ( (binary_expression "(*(int *)(puVar10 + 3) != 0) || ((*(byte *)((long)puVar10 + 0x3b) & 0x20) == 0)" (parenthesized_expression "(*(int *)(puVar10 + 3) != 0)" ( (binary_expression "*(int *)(puVar10 + 3) != 0" (pointer_expression "*(int *)(puVar10 + 3)" * (cast_expression "(int *)(puVar10 + 3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 3)" ( (binary_expression "puVar10 + 3" identifier + number_literal) )))) != number_literal) )) || (parenthesized_expression "((*(byte *)((long)puVar10 + 0x3b) & 0x20) == 0)" ( (binary_expression "(*(byte *)((long)puVar10 + 0x3b) & 0x20) == 0" (parenthesized_expression "(*(byte *)((long)puVar10 + 0x3b) & 0x20)" ( (binary_expression "*(byte *)((long)puVar10 + 0x3b) & 0x20" (pointer_expression "*(byte *)((long)puVar10 + 0x3b)" * (cast_expression "(byte *)((long)puVar10 + 0x3b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar10 + 0x3b)" ( (binary_expression "(long)puVar10 + 0x3b" (cast_expression "(long)puVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n                if (*(code **)(*(long *)puVar10[2] + 0x28) != FUN_001a4aa0) {\n                  lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                  if (lVar13 != 0) {\n                    bVar16 = *(byte *)((long)puVar10 + 0x3a);\n                    bVar5 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar5 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)puVar10 + 0x3b)) goto LAB_00310305;\n                    bVar5 = *(byte *)((long)puVar10 + 0x39);\n                    if ((bVar5 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }\nLAB_0031015a:\n                bVar16 = bVar16 & 7;\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                if ((*(byte *)((long)puVar10 + 0x39) & 3) == 0) goto LAB_003101c0;\nLAB_00310166:\n                if (((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)\n                    ) && ((*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0)))) {\nLAB_00310293:\n                  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_003108ca:\n                    \n                    \n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') {\n                    if (bVar16 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)(puVar10[2] + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }\n                if (bVar5 == 2) {\n                  uVar9 = gettext("hidden");\n                }\n                else if (bVar5 < 3) {\n                  if (bVar5 != 1) {\n                    \n                    FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar9 = gettext("internal");\n                }\n                else {\n                  uVar9 = gettext("protected");\n                }\n                uVar11 = *puVar10;\n                uVar12 = gettext("%s symbol \'%s\' is not defined locally");\n                    \n                FUN_0034a750(uVar12,uVar9,uVar11);\n                goto LAB_003101c0;\n              }" { (if_statement "if (*(code **)(*(long *)puVar10[2] + 0x28) != FUN_001a4aa0) {\n                  lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                  if (lVar13 != 0) {\n                    bVar16 = *(byte *)((long)puVar10 + 0x3a);\n                    bVar5 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar5 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)puVar10 + 0x3b)) goto LAB_00310305;\n                    bVar5 = *(byte *)((long)puVar10 + 0x39);\n                    if ((bVar5 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }" if (parenthesized_expression "(*(code **)(*(long *)puVar10[2] + 0x28) != FUN_001a4aa0)" ( (binary_expression "*(code **)(*(long *)puVar10[2] + 0x28) != FUN_001a4aa0" (pointer_expression "*(code **)(*(long *)puVar10[2] + 0x28)" * (cast_expression "(code **)(*(long *)puVar10[2] + 0x28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)puVar10[2] + 0x28)" ( (binary_expression "*(long *)puVar10[2] + 0x28" (pointer_expression "*(long *)puVar10[2]" * (cast_expression "(long *)puVar10[2]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar10[2]" identifier [ number_literal ]))) + number_literal) )))) != identifier) )) (compound_statement "{\n                  lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                  if (lVar13 != 0) {\n                    bVar16 = *(byte *)((long)puVar10 + 0x3a);\n                    bVar5 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar5 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)puVar10 + 0x3b)) goto LAB_00310305;\n                    bVar5 = *(byte *)((long)puVar10 + 0x39);\n                    if ((bVar5 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }" { (expression_statement "lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();" (assignment_expression "lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))()" identifier = (call_expression "(**(code **)(*(long *)puVar10[2] + 0x28))()" (parenthesized_expression "(**(code **)(*(long *)puVar10[2] + 0x28))" ( (pointer_expression "**(code **)(*(long *)puVar10[2] + 0x28)" * (pointer_expression "*(code **)(*(long *)puVar10[2] + 0x28)" * (cast_expression "(code **)(*(long *)puVar10[2] + 0x28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)puVar10[2] + 0x28)" ( (binary_expression "*(long *)puVar10[2] + 0x28" (pointer_expression "*(long *)puVar10[2]" * (cast_expression "(long *)puVar10[2]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar10[2]" identifier [ number_literal ]))) + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (lVar13 != 0) {\n                    bVar16 = *(byte *)((long)puVar10 + 0x3a);\n                    bVar5 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar5 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)puVar10 + 0x3b)) goto LAB_00310305;\n                    bVar5 = *(byte *)((long)puVar10 + 0x39);\n                    if ((bVar5 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }" if (parenthesized_expression "(lVar13 != 0)" ( (binary_expression "lVar13 != 0" identifier != number_literal) )) (compound_statement "{\n                    bVar16 = *(byte *)((long)puVar10 + 0x3a);\n                    bVar5 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar5 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)puVar10 + 0x3b)) goto LAB_00310305;\n                    bVar5 = *(byte *)((long)puVar10 + 0x39);\n                    if ((bVar5 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }" { (expression_statement "bVar16 = *(byte *)((long)puVar10 + 0x3a);" (assignment_expression "bVar16 = *(byte *)((long)puVar10 + 0x3a)" identifier = (pointer_expression "*(byte *)((long)puVar10 + 0x3a)" * (cast_expression "(byte *)((long)puVar10 + 0x3a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar10 + 0x3a)" ( (binary_expression "(long)puVar10 + 0x3a" (cast_expression "(long)puVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (expression_statement "bVar5 = bVar16 & 7;" (assignment_expression "bVar5 = bVar16 & 7" identifier = (binary_expression "bVar16 & 7" identifier & number_literal)) ;) (if_statement "if ((bVar16 & 7) == 0) {\n                      if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }" if (parenthesized_expression "((bVar16 & 7) == 0)" ( (binary_expression "(bVar16 & 7) == 0" (parenthesized_expression "(bVar16 & 7)" ( (binary_expression "bVar16 & 7" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                      if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }" { (if_statement "if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;" if (parenthesized_expression "((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0))" ( (binary_expression "(*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)" (parenthesized_expression "(*(int *)(puVar10 + 3) == 0)" ( (binary_expression "*(int *)(puVar10 + 3) == 0" (pointer_expression "*(int *)(puVar10 + 3)" * (cast_expression "(int *)(puVar10 + 3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 3)" ( (binary_expression "puVar10 + 3" identifier + number_literal) )))) == number_literal) )) && (parenthesized_expression "((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)" ( (binary_expression "(*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0" (parenthesized_expression "(*(byte *)((long)puVar10 + 0x3b) & 0x20)" ( (binary_expression "*(byte *)((long)puVar10 + 0x3b) & 0x20" (pointer_expression "*(byte *)((long)puVar10 + 0x3b)" * (cast_expression "(byte *)((long)puVar10 + 0x3b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar10 + 0x3b)" ( (binary_expression "(long)puVar10 + 0x3b" (cast_expression "(long)puVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) ))) )) (goto_statement "goto LAB_0031020c;" goto statement_identifier ;)) (if_statement "if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;" if (parenthesized_expression "((char)*(byte *)((long)puVar10 + 0x3b) < '\0')" ( (binary_expression "(char)*(byte *)((long)puVar10 + 0x3b) < '\0'" (cast_expression "(char)*(byte *)((long)puVar10 + 0x3b)" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(byte *)((long)puVar10 + 0x3b)" * (cast_expression "(byte *)((long)puVar10 + 0x3b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar10 + 0x3b)" ( (binary_expression "(long)puVar10 + 0x3b" (cast_expression "(long)puVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) < (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_003105b8;" goto statement_identifier ;)) (goto_statement "goto LAB_00310305;" goto statement_identifier ;) })) (if_statement "if (bVar5 == 4) goto LAB_0031020c;" if (parenthesized_expression "(bVar5 == 4)" ( (binary_expression "bVar5 == 4" identifier == number_literal) )) (goto_statement "goto LAB_0031020c;" goto statement_identifier ;)) (if_statement "if (-1 < *(char *)((long)puVar10 + 0x3b)) goto LAB_00310305;" if (parenthesized_expression "(-1 < *(char *)((long)puVar10 + 0x3b))" ( (binary_expression "-1 < *(char *)((long)puVar10 + 0x3b)" number_literal < (pointer_expression "*(char *)((long)puVar10 + 0x3b)" * (cast_expression "(char *)((long)puVar10 + 0x3b)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar10 + 0x3b)" ( (binary_expression "(long)puVar10 + 0x3b" (cast_expression "(long)puVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) )) (goto_statement "goto LAB_00310305;" goto statement_identifier ;)) (expression_statement "bVar5 = *(byte *)((long)puVar10 + 0x39);" (assignment_expression "bVar5 = *(byte *)((long)puVar10 + 0x39)" identifier = (pointer_expression "*(byte *)((long)puVar10 + 0x39)" * (cast_expression "(byte *)((long)puVar10 + 0x39)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar10 + 0x39)" ( (binary_expression "(long)puVar10 + 0x39" (cast_expression "(long)puVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (if_statement "if ((bVar5 & 3) == 0) goto LAB_003101c0;" if (parenthesized_expression "((bVar5 & 3) == 0)" ( (binary_expression "(bVar5 & 3) == 0" (parenthesized_expression "(bVar5 & 3)" ( (binary_expression "bVar5 & 3" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_003101c0;" goto statement_identifier ;)) (goto_statement "goto LAB_0031026d;" goto statement_identifier ;) })) (goto_statement "goto LAB_00310438;" goto statement_identifier ;) })) (labeled_statement "LAB_0031015a:\n                bVar16 = bVar16 & 7;" statement_identifier : (expression_statement "bVar16 = bVar16 & 7;" (assignment_expression "bVar16 = bVar16 & 7" identifier = (binary_expression "bVar16 & 7" identifier & number_literal)) ;)) (expression_statement "bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;" (assignment_expression "bVar5 = *(byte *)((long)puVar10 + 0x39) & 3" identifier = (binary_expression "*(byte *)((long)puVar10 + 0x39) & 3" (pointer_expression "*(byte *)((long)puVar10 + 0x39)" * (cast_expression "(byte *)((long)puVar10 + 0x39)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar10 + 0x39)" ( (binary_expression "(long)puVar10 + 0x39" (cast_expression "(long)puVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal)) ;) (if_statement "if ((*(byte *)((long)puVar10 + 0x39) & 3) == 0) goto LAB_003101c0;" if (parenthesized_expression "((*(byte *)((long)puVar10 + 0x39) & 3) == 0)" ( (binary_expression "(*(byte *)((long)puVar10 + 0x39) & 3) == 0" (parenthesized_expression "(*(byte *)((long)puVar10 + 0x39) & 3)" ( (binary_expression "*(byte *)((long)puVar10 + 0x39) & 3" (pointer_expression "*(byte *)((long)puVar10 + 0x39)" * (cast_expression "(byte *)((long)puVar10 + 0x39)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar10 + 0x39)" ( (binary_expression "(long)puVar10 + 0x39" (cast_expression "(long)puVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_003101c0;" goto statement_identifier ;)) (labeled_statement "LAB_00310166:\n                if (((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)\n                    ) && ((*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0)))) {\nLAB_00310293:\n                  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_003108ca:\n                    \n                    \n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') {\n                    if (bVar16 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)(puVar10[2] + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }" statement_identifier : (if_statement "if (((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)\n                    ) && ((*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0)))) {\nLAB_00310293:\n                  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_003108ca:\n                    \n                    \n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') {\n                    if (bVar16 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)(puVar10[2] + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }" if (parenthesized_expression "(((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)\n                    ) && ((*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0))))" ( (binary_expression "((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)\n                    ) && ((*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0)))" (parenthesized_expression "((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)\n                    )" ( (binary_expression "(*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)" (parenthesized_expression "(*(int *)(puVar10 + 3) == 0)" ( (binary_expression "*(int *)(puVar10 + 3) == 0" (pointer_expression "*(int *)(puVar10 + 3)" * (cast_expression "(int *)(puVar10 + 3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 3)" ( (binary_expression "puVar10 + 3" identifier + number_literal) )))) == number_literal) )) && (parenthesized_expression "((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)" ( (binary_expression "(*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0" (parenthesized_expression "(*(byte *)((long)puVar10 + 0x3b) & 0x20)" ( (binary_expression "*(byte *)((long)puVar10 + 0x3b) & 0x20" (pointer_expression "*(byte *)((long)puVar10 + 0x3b)" * (cast_expression "(byte *)((long)puVar10 + 0x3b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar10 + 0x3b)" ( (binary_expression "(long)puVar10 + 0x3b" (cast_expression "(long)puVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) ))) )) && (parenthesized_expression "((*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0)))" ( (parenthesized_expression "(*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0))" ( (binary_expression "*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0)" (binary_expression "*(byte *)(puVar10 + 7) >> 4 != 2" (binary_expression "*(byte *)(puVar10 + 7) >> 4" (pointer_expression "*(byte *)(puVar10 + 7)" * (cast_expression "(byte *)(puVar10 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 7)" ( (binary_expression "puVar10 + 7" identifier + number_literal) )))) >> number_literal) != number_literal) && (parenthesized_expression "((*(byte *)((long)puVar10 + 0x3c) & 2) == 0)" ( (binary_expression "(*(byte *)((long)puVar10 + 0x3c) & 2) == 0" (parenthesized_expression "(*(byte *)((long)puVar10 + 0x3c) & 2)" ( (binary_expression "*(byte *)((long)puVar10 + 0x3c) & 2" (pointer_expression "*(byte *)((long)puVar10 + 0x3c)" * (cast_expression "(byte *)((long)puVar10 + 0x3c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar10 + 0x3c)" ( (binary_expression "(long)puVar10 + 0x3c" (cast_expression "(long)puVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) ))) )) ))) )) (compound_statement "{\nLAB_00310293:\n                  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_003108ca:\n                    \n                    \n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') {\n                    if (bVar16 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }" { (labeled_statement "LAB_00310293:\n                  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_003108ca:\n                    \n                    \n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n                  }" statement_identifier : (if_statement "if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_003108ca:\n                    \n                    \n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n                  }" if (parenthesized_expression "(*(long *)(PTR_DAT_0067cb08 + 0x10) == 0)" ( (binary_expression "*(long *)(PTR_DAT_0067cb08 + 0x10) == 0" (pointer_expression "*(long *)(PTR_DAT_0067cb08 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0067cb08 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0067cb08 + 0x10)" ( (binary_expression "PTR_DAT_0067cb08 + 0x10" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_003108ca:\n                    \n                    \n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n                  }" { (labeled_statement "LAB_003108ca:\n                    \n                    \n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");" statement_identifier : (expression_statement "FUN_00352af0("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_00352af0("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;)) }))) (if_statement "if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') {\n                    if (bVar16 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }" if (parenthesized_expression "(*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0')" ( (binary_expression "*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0'" (pointer_expression "*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739)" * (cast_expression "(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739)" ( (binary_expression "*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739" (pointer_expression "*(long *)(PTR_DAT_0067cb08 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0067cb08 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0067cb08 + 0x10)" ( (binary_expression "PTR_DAT_0067cb08 + 0x10" identifier + number_literal) )))) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    if (bVar16 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }" { (if_statement "if (bVar16 != 0) goto LAB_003101c0;" if (parenthesized_expression "(bVar16 != 0)" ( (binary_expression "bVar16 != 0" identifier != number_literal) )) (goto_statement "goto LAB_003101c0;" goto statement_identifier ;)) (goto_statement "goto LAB_00310177;" goto statement_identifier ;) })) }) (else_clause "else {\nLAB_00310177:\n                  if ((*(byte *)(puVar10[2] + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }" else (compound_statement "{\nLAB_00310177:\n                  if ((*(byte *)(puVar10[2] + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }" { (labeled_statement "LAB_00310177:\n                  if ((*(byte *)(puVar10[2] + 0x3c) & 1) == 0) goto LAB_003101c0;" statement_identifier : (if_statement "if ((*(byte *)(puVar10[2] + 0x3c) & 1) == 0) goto LAB_003101c0;" if (parenthesized_expression "((*(byte *)(puVar10[2] + 0x3c) & 1) == 0)" ( (binary_expression "(*(byte *)(puVar10[2] + 0x3c) & 1) == 0" (parenthesized_expression "(*(byte *)(puVar10[2] + 0x3c) & 1)" ( (binary_expression "*(byte *)(puVar10[2] + 0x3c) & 1" (pointer_expression "*(byte *)(puVar10[2] + 0x3c)" * (cast_expression "(byte *)(puVar10[2] + 0x3c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10[2] + 0x3c)" ( (binary_expression "puVar10[2] + 0x3c" (subscript_expression "puVar10[2]" identifier [ number_literal ]) + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_003101c0;" goto statement_identifier ;))) })))) (if_statement "if (bVar5 == 2) {\n                  uVar9 = gettext("hidden");\n                }\n                else if (bVar5 < 3) {\n                  if (bVar5 != 1) {\n                    \n                    FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar9 = gettext("internal");\n                }\n                else {\n                  uVar9 = gettext("protected");\n                }" if (parenthesized_expression "(bVar5 == 2)" ( (binary_expression "bVar5 == 2" identifier == number_literal) )) (compound_statement "{\n                  uVar9 = gettext("hidden");\n                }" { (expression_statement "uVar9 = gettext("hidden");" (assignment_expression "uVar9 = gettext("hidden")" identifier = (call_expression "gettext("hidden")" identifier (argument_list "("hidden")" ( (string_literal ""hidden"" " string_content ") )))) ;) }) (else_clause "else if (bVar5 < 3) {\n                  if (bVar5 != 1) {\n                    \n                    FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar9 = gettext("internal");\n                }\n                else {\n                  uVar9 = gettext("protected");\n                }" else (if_statement "if (bVar5 < 3) {\n                  if (bVar5 != 1) {\n                    \n                    FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar9 = gettext("internal");\n                }\n                else {\n                  uVar9 = gettext("protected");\n                }" if (parenthesized_expression "(bVar5 < 3)" ( (binary_expression "bVar5 < 3" identifier < number_literal) )) (compound_statement "{\n                  if (bVar5 != 1) {\n                    \n                    FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar9 = gettext("internal");\n                }" { (if_statement "if (bVar5 != 1) {\n                    \n                    FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }" if (parenthesized_expression "(bVar5 != 1)" ( (binary_expression "bVar5 != 1" identifier != number_literal) )) (compound_statement "{\n                    \n                    FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }" { (expression_statement "FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");" (call_expression "FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error")" identifier (argument_list "("../../gold/target-reloc.h",0xa4,"visibility_error")" ( (string_literal ""../../gold/target-reloc.h"" " string_content ") , number_literal , (string_literal ""visibility_error"" " string_content ") ))) ;) })) (expression_statement "uVar9 = gettext("internal");" (assignment_expression "uVar9 = gettext("internal")" identifier = (call_expression "gettext("internal")" identifier (argument_list "("internal")" ( (string_literal ""internal"" " string_content ") )))) ;) }) (else_clause "else {\n                  uVar9 = gettext("protected");\n                }" else (compound_statement "{\n                  uVar9 = gettext("protected");\n                }" { (expression_statement "uVar9 = gettext("protected");" (assignment_expression "uVar9 = gettext("protected")" identifier = (call_expression "gettext("protected")" identifier (argument_list "("protected")" ( (string_literal ""protected"" " string_content ") )))) ;) }))))) (expression_statement "uVar11 = *puVar10;" (assignment_expression "uVar11 = *puVar10" identifier = (pointer_expression "*puVar10" * identifier)) ;) (expression_statement "uVar12 = gettext("%s symbol \'%s\' is not defined locally");" (assignment_expression "uVar12 = gettext("%s symbol \'%s\' is not defined locally")" identifier = (call_expression "gettext("%s symbol \'%s\' is not defined locally")" identifier (argument_list "("%s symbol \'%s\' is not defined locally")" ( (string_literal ""%s symbol \'%s\' is not defined locally"" " string_content escape_sequence string_content escape_sequence string_content ") )))) ;) (expression_statement "FUN_0034a750(uVar12,uVar9,uVar11);" (call_expression "FUN_0034a750(uVar12,uVar9,uVar11)" identifier (argument_list "(uVar12,uVar9,uVar11)" ( identifier , identifier , identifier ))) ;) (goto_statement "goto LAB_003101c0;" goto statement_identifier ;) })) (labeled_statement "LAB_0031020c:\n              if ((*(byte *)(puVar10 + 7) >> 4 == 2) || ((*(byte *)((long)puVar10 + 0x3c) & 2) != 0)\n                 ) {\nLAB_00310438:\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_0031043f:\n                if (bVar5 == 0) goto LAB_003101c0;\n                bVar16 = *(byte *)((long)puVar10 + 0x3a) & 7;\n                if (bVar16 != 0) goto LAB_00310270;\n                goto LAB_00310166;\n              }" statement_identifier : (if_statement "if ((*(byte *)(puVar10 + 7) >> 4 == 2) || ((*(byte *)((long)puVar10 + 0x3c) & 2) != 0)\n                 ) {\nLAB_00310438:\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_0031043f:\n                if (bVar5 == 0) goto LAB_003101c0;\n                bVar16 = *(byte *)((long)puVar10 + 0x3a) & 7;\n                if (bVar16 != 0) goto LAB_00310270;\n                goto LAB_00310166;\n              }" if (parenthesized_expression "((*(byte *)(puVar10 + 7) >> 4 == 2) || ((*(byte *)((long)puVar10 + 0x3c) & 2) != 0)\n                 )" ( (binary_expression "(*(byte *)(puVar10 + 7) >> 4 == 2) || ((*(byte *)((long)puVar10 + 0x3c) & 2) != 0)" (parenthesized_expression "(*(byte *)(puVar10 + 7) >> 4 == 2)" ( (binary_expression "*(byte *)(puVar10 + 7) >> 4 == 2" (binary_expression "*(byte *)(puVar10 + 7) >> 4" (pointer_expression "*(byte *)(puVar10 + 7)" * (cast_expression "(byte *)(puVar10 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 7)" ( (binary_expression "puVar10 + 7" identifier + number_literal) )))) >> number_literal) == number_literal) )) || (parenthesized_expression "((*(byte *)((long)puVar10 + 0x3c) & 2) != 0)" ( (binary_expression "(*(byte *)((long)puVar10 + 0x3c) & 2) != 0" (parenthesized_expression "(*(byte *)((long)puVar10 + 0x3c) & 2)" ( (binary_expression "*(byte *)((long)puVar10 + 0x3c) & 2" (pointer_expression "*(byte *)((long)puVar10 + 0x3c)" * (cast_expression "(byte *)((long)puVar10 + 0x3c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar10 + 0x3c)" ( (binary_expression "(long)puVar10 + 0x3c" (cast_expression "(long)puVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\nLAB_00310438:\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_0031043f:\n                if (bVar5 == 0) goto LAB_003101c0;\n                bVar16 = *(byte *)((long)puVar10 + 0x3a) & 7;\n                if (bVar16 != 0) goto LAB_00310270;\n                goto LAB_00310166;\n              }" { (labeled_statement "LAB_00310438:\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;" statement_identifier : (expression_statement "bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;" (assignment_expression "bVar5 = *(byte *)((long)puVar10 + 0x39) & 3" identifier = (binary_expression "*(byte *)((long)puVar10 + 0x39) & 3" (pointer_expression "*(byte *)((long)puVar10 + 0x39)" * (cast_expression "(byte *)((long)puVar10 + 0x39)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar10 + 0x39)" ( (binary_expression "(long)puVar10 + 0x39" (cast_expression "(long)puVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal)) ;)) (labeled_statement "LAB_0031043f:\n                if (bVar5 == 0) goto LAB_003101c0;" statement_identifier : (if_statement "if (bVar5 == 0) goto LAB_003101c0;" if (parenthesized_expression "(bVar5 == 0)" ( (binary_expression "bVar5 == 0" identifier == number_literal) )) (goto_statement "goto LAB_003101c0;" goto statement_identifier ;))) (expression_statement "bVar16 = *(byte *)((long)puVar10 + 0x3a) & 7;" (assignment_expression "bVar16 = *(byte *)((long)puVar10 + 0x3a) & 7" identifier = (binary_expression "*(byte *)((long)puVar10 + 0x3a) & 7" (pointer_expression "*(byte *)((long)puVar10 + 0x3a)" * (cast_expression "(byte *)((long)puVar10 + 0x3a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar10 + 0x3a)" ( (binary_expression "(long)puVar10 + 0x3a" (cast_expression "(long)puVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal)) ;) (if_statement "if (bVar16 != 0) goto LAB_00310270;" if (parenthesized_expression "(bVar16 != 0)" ( (binary_expression "bVar16 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00310270;" goto statement_identifier ;)) (goto_statement "goto LAB_00310166;" goto statement_identifier ;) }))) (if_statement "if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\n                    \n                    \n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }" if (parenthesized_expression "(*(long *)(PTR_DAT_0067cb08 + 0x10) == 0)" ( (binary_expression "*(long *)(PTR_DAT_0067cb08 + 0x10) == 0" (pointer_expression "*(long *)(PTR_DAT_0067cb08 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0067cb08 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0067cb08 + 0x10)" ( (binary_expression "PTR_DAT_0067cb08 + 0x10" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    \n                    \n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }" { (expression_statement "FUN_00352af0("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_00352af0("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })) (if_statement "if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') goto LAB_00310438;" if (parenthesized_expression "(*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0')" ( (binary_expression "*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0'" (pointer_expression "*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739)" * (cast_expression "(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739)" ( (binary_expression "*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739" (pointer_expression "*(long *)(PTR_DAT_0067cb08 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0067cb08 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0067cb08 + 0x10)" ( (binary_expression "PTR_DAT_0067cb08 + 0x10" identifier + number_literal) )))) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00310438;" goto statement_identifier ;)) (if_statement "if (*(char *)((long)puVar10 + 0x3b) < '\0') {\n                if (bVar5 != 0) goto LAB_00310260;\nLAB_003105b8:\n                if (*(code **)(*(long *)puVar10[2] + 0x28) == FUN_001a4aa0) goto LAB_0031015a;\n                    \n                lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                if (lVar13 == 0) goto LAB_00310438;\n              }" if (parenthesized_expression "(*(char *)((long)puVar10 + 0x3b) < '\0')" ( (binary_expression "*(char *)((long)puVar10 + 0x3b) < '\0'" (pointer_expression "*(char *)((long)puVar10 + 0x3b)" * (cast_expression "(char *)((long)puVar10 + 0x3b)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar10 + 0x3b)" ( (binary_expression "(long)puVar10 + 0x3b" (cast_expression "(long)puVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                if (bVar5 != 0) goto LAB_00310260;\nLAB_003105b8:\n                if (*(code **)(*(long *)puVar10[2] + 0x28) == FUN_001a4aa0) goto LAB_0031015a;\n                    \n                lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                if (lVar13 == 0) goto LAB_00310438;\n              }" { (if_statement "if (bVar5 != 0) goto LAB_00310260;" if (parenthesized_expression "(bVar5 != 0)" ( (binary_expression "bVar5 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00310260;" goto statement_identifier ;)) (labeled_statement "LAB_003105b8:\n                if (*(code **)(*(long *)puVar10[2] + 0x28) == FUN_001a4aa0) goto LAB_0031015a;" statement_identifier : (if_statement "if (*(code **)(*(long *)puVar10[2] + 0x28) == FUN_001a4aa0) goto LAB_0031015a;" if (parenthesized_expression "(*(code **)(*(long *)puVar10[2] + 0x28) == FUN_001a4aa0)" ( (binary_expression "*(code **)(*(long *)puVar10[2] + 0x28) == FUN_001a4aa0" (pointer_expression "*(code **)(*(long *)puVar10[2] + 0x28)" * (cast_expression "(code **)(*(long *)puVar10[2] + 0x28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)puVar10[2] + 0x28)" ( (binary_expression "*(long *)puVar10[2] + 0x28" (pointer_expression "*(long *)puVar10[2]" * (cast_expression "(long *)puVar10[2]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar10[2]" identifier [ number_literal ]))) + number_literal) )))) == identifier) )) (goto_statement "goto LAB_0031015a;" goto statement_identifier ;))) (expression_statement "lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();" (assignment_expression "lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))()" identifier = (call_expression "(**(code **)(*(long *)puVar10[2] + 0x28))()" (parenthesized_expression "(**(code **)(*(long *)puVar10[2] + 0x28))" ( (pointer_expression "**(code **)(*(long *)puVar10[2] + 0x28)" * (pointer_expression "*(code **)(*(long *)puVar10[2] + 0x28)" * (cast_expression "(code **)(*(long *)puVar10[2] + 0x28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)puVar10[2] + 0x28)" ( (binary_expression "*(long *)puVar10[2] + 0x28" (pointer_expression "*(long *)puVar10[2]" * (cast_expression "(long *)puVar10[2]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar10[2]" identifier [ number_literal ]))) + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (lVar13 == 0) goto LAB_00310438;" if (parenthesized_expression "(lVar13 == 0)" ( (binary_expression "lVar13 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00310438;" goto statement_identifier ;)) })) (labeled_statement "LAB_00310305:\n              plVar3 = *(long **)(PTR_DAT_0067cb08 + 0x18);" statement_identifier : (expression_statement "plVar3 = *(long **)(PTR_DAT_0067cb08 + 0x18);" (assignment_expression "plVar3 = *(long **)(PTR_DAT_0067cb08 + 0x18)" identifier = (pointer_expression "*(long **)(PTR_DAT_0067cb08 + 0x18)" * (cast_expression "(long **)(PTR_DAT_0067cb08 + 0x18)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_DAT_0067cb08 + 0x18)" ( (binary_expression "PTR_DAT_0067cb08 + 0x18" identifier + number_literal) ))))) ;)) (if_statement "if (plVar3 == (long *)0x0) {\nLAB_00310805:\n                    \n                    \n                FUN_00352af0("../../gold/parameters.h",0x69,"target");\n              }" if (parenthesized_expression "(plVar3 == (long *)0x0)" ( (binary_expression "plVar3 == (long *)0x0" identifier == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00310805:\n                    \n                    \n                FUN_00352af0("../../gold/parameters.h",0x69,"target");\n              }" { (labeled_statement "LAB_00310805:\n                    \n                    \n                FUN_00352af0("../../gold/parameters.h",0x69,"target");" statement_identifier : (expression_statement "FUN_00352af0("../../gold/parameters.h",0x69,"target");" (call_expression "FUN_00352af0("../../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 ") ))) ;)) })) (if_statement "if ((*(code **)(*plVar3 + 0x38) != FUN_001a49e0) &&\n                 (cVar4 = (**(code **)(*plVar3 + 0x38))(plVar3,puVar10), cVar4 != '\0'))\n              goto LAB_00310438;" if (parenthesized_expression "((*(code **)(*plVar3 + 0x38) != FUN_001a49e0) &&\n                 (cVar4 = (**(code **)(*plVar3 + 0x38))(plVar3,puVar10), cVar4 != '\0'))" ( (binary_expression "(*(code **)(*plVar3 + 0x38) != FUN_001a49e0) &&\n                 (cVar4 = (**(code **)(*plVar3 + 0x38))(plVar3,puVar10), cVar4 != '\0')" (parenthesized_expression "(*(code **)(*plVar3 + 0x38) != FUN_001a49e0)" ( (binary_expression "*(code **)(*plVar3 + 0x38) != FUN_001a49e0" (pointer_expression "*(code **)(*plVar3 + 0x38)" * (cast_expression "(code **)(*plVar3 + 0x38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar3 + 0x38)" ( (binary_expression "*plVar3 + 0x38" (pointer_expression "*plVar3" * identifier) + number_literal) )))) != identifier) )) && (parenthesized_expression "(cVar4 = (**(code **)(*plVar3 + 0x38))(plVar3,puVar10), cVar4 != '\0')" ( (comma_expression "cVar4 = (**(code **)(*plVar3 + 0x38))(plVar3,puVar10), cVar4 != '\0'" (assignment_expression "cVar4 = (**(code **)(*plVar3 + 0x38))(plVar3,puVar10)" identifier = (call_expression "(**(code **)(*plVar3 + 0x38))(plVar3,puVar10)" (parenthesized_expression "(**(code **)(*plVar3 + 0x38))" ( (pointer_expression "**(code **)(*plVar3 + 0x38)" * (pointer_expression "*(code **)(*plVar3 + 0x38)" * (cast_expression "(code **)(*plVar3 + 0x38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar3 + 0x38)" ( (binary_expression "*plVar3 + 0x38" (pointer_expression "*plVar3" * identifier) + number_literal) ))))) )) (argument_list "(plVar3,puVar10)" ( identifier , identifier )))) , (binary_expression "cVar4 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence '))) ))) )) (goto_statement "goto LAB_00310438;" goto statement_identifier ;)) (expression_statement "lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);" (assignment_expression "lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10)" identifier = (pointer_expression "*(long *)(PTR_DAT_0067cb08 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0067cb08 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0067cb08 + 0x10)" ( (binary_expression "PTR_DAT_0067cb08 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (lVar13 == 0) {\n                    \n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }" if (parenthesized_expression "(lVar13 == 0)" ( (binary_expression "lVar13 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }" { (expression_statement "FUN_00352af0("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_00352af0("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })) (expression_statement "pbVar18 = *(byte **)(lVar13 + 0x6c40);" (assignment_expression "pbVar18 = *(byte **)(lVar13 + 0x6c40)" identifier = (pointer_expression "*(byte **)(lVar13 + 0x6c40)" * (cast_expression "(byte **)(lVar13 + 0x6c40)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar13 + 0x6c40)" ( (binary_expression "lVar13 + 0x6c40" identifier + number_literal) ))))) ;) (expression_statement "bVar24 = false;" (assignment_expression "bVar24 = false" identifier = false) ;) (expression_statement "bVar26 = pbVar18 == (byte *)0x0;" (assignment_expression "bVar26 = pbVar18 == (byte *)0x0" identifier = (binary_expression "pbVar18 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (if_statement "if (bVar26) {\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_003103c9:\n                if ((bVar5 == 2) ||\n                   ((*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0'))))\n                goto LAB_003103e1;\n                goto LAB_0031043f;\n              }" if (parenthesized_expression "(bVar26)" ( identifier )) (compound_statement "{\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_003103c9:\n                if ((bVar5 == 2) ||\n                   ((*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0'))))\n                goto LAB_003103e1;\n                goto LAB_0031043f;\n              }" { (expression_statement "bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;" (assignment_expression "bVar5 = *(byte *)((long)puVar10 + 0x39) & 3" identifier = (binary_expression "*(byte *)((long)puVar10 + 0x39) & 3" (pointer_expression "*(byte *)((long)puVar10 + 0x39)" * (cast_expression "(byte *)((long)puVar10 + 0x39)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar10 + 0x39)" ( (binary_expression "(long)puVar10 + 0x39" (cast_expression "(long)puVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal)) ;) (labeled_statement "LAB_003103c9:\n                if ((bVar5 == 2) ||\n                   ((*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0'))))\n                goto LAB_003103e1;" statement_identifier : (if_statement "if ((bVar5 == 2) ||\n                   ((*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0'))))\n                goto LAB_003103e1;" if (parenthesized_expression "((bVar5 == 2) ||\n                   ((*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0'))))" ( (binary_expression "(bVar5 == 2) ||\n                   ((*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0')))" (parenthesized_expression "(bVar5 == 2)" ( (binary_expression "bVar5 == 2" identifier == number_literal) )) || (parenthesized_expression "((*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0')))" ( (parenthesized_expression "(*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0'))" ( (binary_expression "*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0')" (binary_expression "*(char *)(lVar13 + 0x2a61) == '\0'" (pointer_expression "*(char *)(lVar13 + 0x2a61)" * (cast_expression "(char *)(lVar13 + 0x2a61)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x2a61)" ( (binary_expression "lVar13 + 0x2a61" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) || (parenthesized_expression "(*(char *)(lVar13 + 0x7f71) != '\0')" ( (binary_expression "*(char *)(lVar13 + 0x7f71) != '\0'" (pointer_expression "*(char *)(lVar13 + 0x7f71)" * (cast_expression "(char *)(lVar13 + 0x7f71)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar13 + 0x7f71)" ( (binary_expression "lVar13 + 0x7f71" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) ))) )) (goto_statement "goto LAB_003103e1;" goto statement_identifier ;))) (goto_statement "goto LAB_0031043f;" goto statement_identifier ;) })) (expression_statement "lVar15 = 0xb;" (assignment_expression "lVar15 = 0xb" identifier = number_literal) ;) (expression_statement "pbVar19 = pbVar18;" (assignment_expression "pbVar19 = pbVar18" identifier = identifier) ;) (expression_statement "pbVar20 = (byte *)"ignore-all";" (assignment_expression "pbVar20 = (byte *)"ignore-all"" identifier = (cast_expression "(byte *)"ignore-all"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""ignore-all"" " string_content "))) ;) (do_statement "do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar24 = *pbVar19 < *pbVar20;\n                bVar26 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar26);" do (compound_statement "{\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar24 = *pbVar19 < *pbVar20;\n                bVar26 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              }" { (if_statement "if (lVar15 == 0) break;" if (parenthesized_expression "(lVar15 == 0)" ( (binary_expression "lVar15 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar15 = lVar15 + -1;" (assignment_expression "lVar15 = lVar15 + -1" identifier = (binary_expression "lVar15 + -1" identifier + number_literal)) ;) (expression_statement "bVar24 = *pbVar19 < *pbVar20;" (assignment_expression "bVar24 = *pbVar19 < *pbVar20" identifier = (binary_expression "*pbVar19 < *pbVar20" (pointer_expression "*pbVar19" * identifier) < (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "bVar26 = *pbVar19 == *pbVar20;" (assignment_expression "bVar26 = *pbVar19 == *pbVar20" identifier = (binary_expression "*pbVar19 == *pbVar20" (pointer_expression "*pbVar19" * identifier) == (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;" (assignment_expression "pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1" identifier = (binary_expression "pbVar19 + (ulong)bVar27 * -2 + 1" (binary_expression "pbVar19 + (ulong)bVar27 * -2" identifier + (binary_expression "(ulong)bVar27 * -2" (cast_expression "(ulong)bVar27" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1" identifier = (binary_expression "pbVar20 + (ulong)bVar27 * -2 + 1" (binary_expression "pbVar20 + (ulong)bVar27 * -2" identifier + (binary_expression "(ulong)bVar27 * -2" (cast_expression "(ulong)bVar27" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar26)" ( identifier )) ;) (expression_statement "bVar25 = false;" (assignment_expression "bVar25 = false" identifier = false) ;) (expression_statement "bVar24 = (!bVar24 && !bVar26) == bVar24;" (assignment_expression "bVar24 = (!bVar24 && !bVar26) == bVar24" identifier = (binary_expression "(!bVar24 && !bVar26) == bVar24" (parenthesized_expression "(!bVar24 && !bVar26)" ( (binary_expression "!bVar24 && !bVar26" (unary_expression "!bVar24" ! identifier) && (unary_expression "!bVar26" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar24) goto LAB_00310438;" if (parenthesized_expression "(bVar24)" ( identifier )) (goto_statement "goto LAB_00310438;" goto statement_identifier ;)) (expression_statement "lVar15 = 0xb;" (assignment_expression "lVar15 = 0xb" identifier = number_literal) ;) (expression_statement "pbVar19 = pbVar18;" (assignment_expression "pbVar19 = pbVar18" identifier = identifier) ;) (expression_statement "pbVar20 = (byte *)"report-all";" (assignment_expression "pbVar20 = (byte *)"report-all"" identifier = (cast_expression "(byte *)"report-all"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""report-all"" " string_content "))) ;) (do_statement "do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar25 = *pbVar19 < *pbVar20;\n                bVar24 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);" do (compound_statement "{\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar25 = *pbVar19 < *pbVar20;\n                bVar24 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              }" { (if_statement "if (lVar15 == 0) break;" if (parenthesized_expression "(lVar15 == 0)" ( (binary_expression "lVar15 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar15 = lVar15 + -1;" (assignment_expression "lVar15 = lVar15 + -1" identifier = (binary_expression "lVar15 + -1" identifier + number_literal)) ;) (expression_statement "bVar25 = *pbVar19 < *pbVar20;" (assignment_expression "bVar25 = *pbVar19 < *pbVar20" identifier = (binary_expression "*pbVar19 < *pbVar20" (pointer_expression "*pbVar19" * identifier) < (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "bVar24 = *pbVar19 == *pbVar20;" (assignment_expression "bVar24 = *pbVar19 == *pbVar20" identifier = (binary_expression "*pbVar19 == *pbVar20" (pointer_expression "*pbVar19" * identifier) == (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;" (assignment_expression "pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1" identifier = (binary_expression "pbVar19 + (ulong)bVar27 * -2 + 1" (binary_expression "pbVar19 + (ulong)bVar27 * -2" identifier + (binary_expression "(ulong)bVar27 * -2" (cast_expression "(ulong)bVar27" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1" identifier = (binary_expression "pbVar20 + (ulong)bVar27 * -2 + 1" (binary_expression "pbVar20 + (ulong)bVar27 * -2" identifier + (binary_expression "(ulong)bVar27 * -2" (cast_expression "(ulong)bVar27" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar24)" ( identifier )) ;) (expression_statement "bVar26 = false;" (assignment_expression "bVar26 = false" identifier = false) ;) (expression_statement "bVar24 = (!bVar25 && !bVar24) == bVar25;" (assignment_expression "bVar24 = (!bVar25 && !bVar24) == bVar25" identifier = (binary_expression "(!bVar25 && !bVar24) == bVar25" (parenthesized_expression "(!bVar25 && !bVar24)" ( (binary_expression "!bVar25 && !bVar24" (unary_expression "!bVar25" ! identifier) && (unary_expression "!bVar24" ! identifier)) )) == identifier)) ;) (if_statement "if (!bVar24) {\n                lVar15 = 0x17;\n                pbVar19 = pbVar18;\n                pbVar20 = (byte *)"ignore-in-object-files";\n                do {\n                  if (lVar15 == 0) break;\n                  lVar15 = lVar15 + -1;\n                  bVar26 = *pbVar19 < *pbVar20;\n                  bVar24 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if ((!bVar24) || (bVar24 = (*(byte *)((long)puVar10 + 0x3b) & 1) == 0, !bVar24)) {\n                  bVar26 = false;\n                  lVar15 = 0x16;\n                  pbVar19 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    if (lVar15 == 0) break;\n                    lVar15 = lVar15 + -1;\n                    bVar26 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  if (((!bVar26 && !bVar24) != bVar26) || (*(char *)((long)puVar10 + 0x3a) < '\0'))\n                  goto LAB_003103c9;\n                }\n                goto LAB_0031043f;\n              }" if (parenthesized_expression "(!bVar24)" ( (unary_expression "!bVar24" ! identifier) )) (compound_statement "{\n                lVar15 = 0x17;\n                pbVar19 = pbVar18;\n                pbVar20 = (byte *)"ignore-in-object-files";\n                do {\n                  if (lVar15 == 0) break;\n                  lVar15 = lVar15 + -1;\n                  bVar26 = *pbVar19 < *pbVar20;\n                  bVar24 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if ((!bVar24) || (bVar24 = (*(byte *)((long)puVar10 + 0x3b) & 1) == 0, !bVar24)) {\n                  bVar26 = false;\n                  lVar15 = 0x16;\n                  pbVar19 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    if (lVar15 == 0) break;\n                    lVar15 = lVar15 + -1;\n                    bVar26 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  if (((!bVar26 && !bVar24) != bVar26) || (*(char *)((long)puVar10 + 0x3a) < '\0'))\n                  goto LAB_003103c9;\n                }\n                goto LAB_0031043f;\n              }" { (expression_statement "lVar15 = 0x17;" (assignment_expression "lVar15 = 0x17" identifier = number_literal) ;) (expression_statement "pbVar19 = pbVar18;" (assignment_expression "pbVar19 = pbVar18" identifier = identifier) ;) (expression_statement "pbVar20 = (byte *)"ignore-in-object-files";" (assignment_expression "pbVar20 = (byte *)"ignore-in-object-files"" identifier = (cast_expression "(byte *)"ignore-in-object-files"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""ignore-in-object-files"" " string_content "))) ;) (do_statement "do {\n                  if (lVar15 == 0) break;\n                  lVar15 = lVar15 + -1;\n                  bVar26 = *pbVar19 < *pbVar20;\n                  bVar24 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);" do (compound_statement "{\n                  if (lVar15 == 0) break;\n                  lVar15 = lVar15 + -1;\n                  bVar26 = *pbVar19 < *pbVar20;\n                  bVar24 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n                }" { (if_statement "if (lVar15 == 0) break;" if (parenthesized_expression "(lVar15 == 0)" ( (binary_expression "lVar15 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar15 = lVar15 + -1;" (assignment_expression "lVar15 = lVar15 + -1" identifier = (binary_expression "lVar15 + -1" identifier + number_literal)) ;) (expression_statement "bVar26 = *pbVar19 < *pbVar20;" (assignment_expression "bVar26 = *pbVar19 < *pbVar20" identifier = (binary_expression "*pbVar19 < *pbVar20" (pointer_expression "*pbVar19" * identifier) < (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "bVar24 = *pbVar19 == *pbVar20;" (assignment_expression "bVar24 = *pbVar19 == *pbVar20" identifier = (binary_expression "*pbVar19 == *pbVar20" (pointer_expression "*pbVar19" * identifier) == (pointer_expression "*pbVar20" * identifier))) ;) (expression_statement "pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;" (assignment_expression "pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1" identifier = (binary_expression "pbVar19 + (ulong)bVar27 * -2 + 1" (binary_expression "pbVar19 + (ulong)bVar27 * -2" identifier + (binary_expression "(ulong)bVar27 * -2" (cast_expression "(ulong)bVar27" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1" identifier = (binary_expression "pbVar20 + (ulong)bVar27 * -2 + 1" (binary_expression "pbVar20 + (ulong)bVar27 * -2" identifier + (binary_expression "(ulong)bVar27 * -2" (cast_expression "(ulong)bVar27" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar24)" ( identifier )) ;) (expression_statement "bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;" (assignment_expression "bVar5 = *(byte *)((long)puVar10 + 0x39) & 3" identifier = (binary_expression "*(byte *)((long)puVar10 + 0x39) & 3" (pointer_expression "*(byte *)((long)puVar10 + 0x39)" * (cast_expression "(byte *)((long)puVar10 + 0x39)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar10 + 0x39)" ( (binary_expression "(long)puVar10 + 0x39" (cast_expression "(long)puVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal)) ;) (expression_statement "bVar24 = (!bVar26 && !bVar24) == bVar26;" (assignment_expression "bVar24 = (!bVar26 && !bVar24) == bVar26" identifier = (binary_expression "(!bVar26 && !bVar24) == bVar26" (parenthesized_expression "(!bVar26 && !bVar24)" ( (binary_expression "!bVar26 && !bVar24" (unary_expression "!bVar26" ! identifier) && (unary_expression "!bVar24" ! identifier)) )) == identifier)) ;) (if_statement "if ((!bVar24) || (bVar24 = (*(byte *)((long)puVar10 + 0x3b) & 1) == 0, !bVar24)) {\n                  bVar26 = false;\n                  lVar15 = 0x16;\n                  pbVar19 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    if (lVar15 == 0) break;\n                    lVar15 = lVar15 + -1;\n                    bVar26 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  if (((!bVar26 && !bVar24) != bVar26) || (*(char *)((long)puVar10 + 0x3a) < '\0'))\n                  goto LAB_003103c9;\n                }" if (parenthesized_expression "((!bVar24) || (bVar24 = (*(byte *)((long)puVar10 + 0x3b) & 1) == 0, !bVar24))" ( (binary_expression "(!bVar24) || (bVar24 = (*(byte *)((long)puVar10 + 0x3b) & 1) == 0, !bVar24)" (parenthesized_expression "(!bVar24)" ( (unary_expression "!bVar24" ! identifier) )) || (parenthesized_expression "(bVar24 = (*(byte *)((long)puVar10 + 0x3b) & 1) == 0, !bVar24)" ( (comma_expression "bVar24 = (*(byte *)((long)puVar10 + 0x3b) & 1) == 0, !bVar24" (assignment_expression "bVar24 = (*(byte *)((long)puVar10 + 0x3b) & 1) == 0" identifier = (binary_expression "(*(byte *)((long)puVar10 + 0x3b) & 1) == 0" (parenthesized_expression "(*(byte *)((long)puVar10 + 0x3b) & 1)" ( (binary_expression "*(byte *)((long)puVar10 + 0x3b) & 1" (pointer_expression "*(byte *)((long)puVar10 + 0x3b)" * (cast_expression "(byte *)((long)puVar10 + 0x3b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar10 + 0x3b)" ( (binary_expression "(long)puVar10 + 0x3b" (cast_expression "(long)puVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) == number_literal)) , (unary_expression "!bVar24" ! identifier)) ))) )) (compound_statement "{\n                  bVar26 = false;\n                  lVar15 = 0x16;\n                  pbVar19 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    if (lVar15 == 0) break;\n                    lVar15 = lVar15 + -1;\n                    bVar26 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  if (((!bVar26 && !bVar24) != bVar26) || (*(char *)((long)puVar10 + 0x3a) < '\0'))\n                  goto LAB_003103c9;\n                }" { (expression_statement "bVar26 = false;" (assignment_expression "bVar26 = false" identifier = false) ;) (expression_statement "lVar15 = 0x16;" (assignment_expression "lVar15 = 0x16" identifier = number_literal) ;) (expression_statement "pbVar19 = (byte *)"ignore-in-shared-libs";" (assignment_expression "pbVar19 = (byte *)"ignore-in-shared-libs"" identifier = (cast_expression "(byte *)"ignore-in-shared-libs"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""ignore-in-shared-libs"" " string_content "))) ;) (do_statement "do {\n                    if (lVar15 == 0) break;\n                    lVar15 = lVar15 + -1;\n                    bVar26 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);" do (compound_statement "{\n                    if (lVar15 == 0) break;\n                    lVar15 = lVar15 + -1;\n                    bVar26 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  }" { (if_statement "if (lVar15 == 0) break;" if (parenthesized_expression "(lVar15 == 0)" ( (binary_expression "lVar15 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar15 = lVar15 + -1;" (assignment_expression "lVar15 = lVar15 + -1" identifier = (binary_expression "lVar15 + -1" identifier + number_literal)) ;) (expression_statement "bVar26 = *pbVar18 < *pbVar19;" (assignment_expression "bVar26 = *pbVar18 < *pbVar19" identifier = (binary_expression "*pbVar18 < *pbVar19" (pointer_expression "*pbVar18" * identifier) < (pointer_expression "*pbVar19" * identifier))) ;) (expression_statement "bVar24 = *pbVar18 == *pbVar19;" (assignment_expression "bVar24 = *pbVar18 == *pbVar19" identifier = (binary_expression "*pbVar18 == *pbVar19" (pointer_expression "*pbVar18" * identifier) == (pointer_expression "*pbVar19" * identifier))) ;) (expression_statement "pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1" identifier = (binary_expression "pbVar18 + (ulong)bVar27 * -2 + 1" (binary_expression "pbVar18 + (ulong)bVar27 * -2" identifier + (binary_expression "(ulong)bVar27 * -2" (cast_expression "(ulong)bVar27" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;" (assignment_expression "pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1" identifier = (binary_expression "pbVar19 + (ulong)bVar27 * -2 + 1" (binary_expression "pbVar19 + (ulong)bVar27 * -2" identifier + (binary_expression "(ulong)bVar27 * -2" (cast_expression "(ulong)bVar27" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar24)" ( identifier )) ;) (if_statement "if (((!bVar26 && !bVar24) != bVar26) || (*(char *)((long)puVar10 + 0x3a) < '\0'))\n                  goto LAB_003103c9;" if (parenthesized_expression "(((!bVar26 && !bVar24) != bVar26) || (*(char *)((long)puVar10 + 0x3a) < '\0'))" ( (binary_expression "((!bVar26 && !bVar24) != bVar26) || (*(char *)((long)puVar10 + 0x3a) < '\0')" (parenthesized_expression "((!bVar26 && !bVar24) != bVar26)" ( (binary_expression "(!bVar26 && !bVar24) != bVar26" (parenthesized_expression "(!bVar26 && !bVar24)" ( (binary_expression "!bVar26 && !bVar24" (unary_expression "!bVar26" ! identifier) && (unary_expression "!bVar24" ! identifier)) )) != identifier) )) || (parenthesized_expression "(*(char *)((long)puVar10 + 0x3a) < '\0')" ( (binary_expression "*(char *)((long)puVar10 + 0x3a) < '\0'" (pointer_expression "*(char *)((long)puVar10 + 0x3a)" * (cast_expression "(char *)((long)puVar10 + 0x3a)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar10 + 0x3a)" ( (binary_expression "(long)puVar10 + 0x3a" (cast_expression "(long)puVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) < (char_literal "'\0'" ' escape_sequence ')) ))) )) (goto_statement "goto LAB_003103c9;" goto statement_identifier ;)) })) (goto_statement "goto LAB_0031043f;" goto statement_identifier ;) })) (labeled_statement "LAB_003103e1:\n              FUN_0034b9f0(puVar10,param_2,local_148,local_140);" statement_identifier : (expression_statement "FUN_0034b9f0(puVar10,param_2,local_148,local_140);" (call_expression "FUN_0034b9f0(puVar10,param_2,local_148,local_140)" identifier (argument_list "(puVar10,param_2,local_148,local_140)" ( identifier , identifier , identifier , identifier ))) ;)) (expression_statement "bVar16 = *(byte *)((long)puVar10 + 0x3b);" (assignment_expression "bVar16 = *(byte *)((long)puVar10 + 0x3b)" identifier = (pointer_expression "*(byte *)((long)puVar10 + 0x3b)" * (cast_expression "(byte *)((long)puVar10 + 0x3b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar10 + 0x3b)" ( (binary_expression "(long)puVar10 + 0x3b" (cast_expression "(long)puVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) }) (else_clause "else {\n              if (bVar5 == 4) goto LAB_0031020c;\nLAB_00310260:\n              bVar5 = *(byte *)((long)puVar10 + 0x39);\n              if ((bVar5 & 3) != 0) {\nLAB_0031026d:\n                bVar5 = bVar5 & 3;\n                bVar16 = bVar16 & 7;\nLAB_00310270:\n                if (((bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2)) &&\n                   (bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0)) goto LAB_00310293;\n              }\nLAB_003101c0:\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }" else (compound_statement "{\n              if (bVar5 == 4) goto LAB_0031020c;\nLAB_00310260:\n              bVar5 = *(byte *)((long)puVar10 + 0x39);\n              if ((bVar5 & 3) != 0) {\nLAB_0031026d:\n                bVar5 = bVar5 & 3;\n                bVar16 = bVar16 & 7;\nLAB_00310270:\n                if (((bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2)) &&\n                   (bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0)) goto LAB_00310293;\n              }\nLAB_003101c0:\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }" { (if_statement "if (bVar5 == 4) goto LAB_0031020c;" if (parenthesized_expression "(bVar5 == 4)" ( (binary_expression "bVar5 == 4" identifier == number_literal) )) (goto_statement "goto LAB_0031020c;" goto statement_identifier ;)) (labeled_statement "LAB_00310260:\n              bVar5 = *(byte *)((long)puVar10 + 0x39);" statement_identifier : (expression_statement "bVar5 = *(byte *)((long)puVar10 + 0x39);" (assignment_expression "bVar5 = *(byte *)((long)puVar10 + 0x39)" identifier = (pointer_expression "*(byte *)((long)puVar10 + 0x39)" * (cast_expression "(byte *)((long)puVar10 + 0x39)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar10 + 0x39)" ( (binary_expression "(long)puVar10 + 0x39" (cast_expression "(long)puVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;)) (if_statement "if ((bVar5 & 3) != 0) {\nLAB_0031026d:\n                bVar5 = bVar5 & 3;\n                bVar16 = bVar16 & 7;\nLAB_00310270:\n                if (((bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2)) &&\n                   (bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0)) goto LAB_00310293;\n              }" if (parenthesized_expression "((bVar5 & 3) != 0)" ( (binary_expression "(bVar5 & 3) != 0" (parenthesized_expression "(bVar5 & 3)" ( (binary_expression "bVar5 & 3" identifier & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_0031026d:\n                bVar5 = bVar5 & 3;\n                bVar16 = bVar16 & 7;\nLAB_00310270:\n                if (((bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2)) &&\n                   (bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0)) goto LAB_00310293;\n              }" { (labeled_statement "LAB_0031026d:\n                bVar5 = bVar5 & 3;" statement_identifier : (expression_statement "bVar5 = bVar5 & 3;" (assignment_expression "bVar5 = bVar5 & 3" identifier = (binary_expression "bVar5 & 3" identifier & number_literal)) ;)) (expression_statement "bVar16 = bVar16 & 7;" (assignment_expression "bVar16 = bVar16 & 7" identifier = (binary_expression "bVar16 & 7" identifier & number_literal)) ;) (labeled_statement "LAB_00310270:\n                if (((bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2)) &&\n                   (bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0)) goto LAB_00310293;" statement_identifier : (if_statement "if (((bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2)) &&\n                   (bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0)) goto LAB_00310293;" if (parenthesized_expression "(((bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2)) &&\n                   (bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0))" ( (binary_expression "((bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2)) &&\n                   (bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0)" (parenthesized_expression "((bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2))" ( (binary_expression "(bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2)" (parenthesized_expression "(bVar16 == 4)" ( (binary_expression "bVar16 == 4" identifier == number_literal) )) && (parenthesized_expression "(*(byte *)(puVar10 + 7) >> 4 != 2)" ( (binary_expression "*(byte *)(puVar10 + 7) >> 4 != 2" (binary_expression "*(byte *)(puVar10 + 7) >> 4" (pointer_expression "*(byte *)(puVar10 + 7)" * (cast_expression "(byte *)(puVar10 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 7)" ( (binary_expression "puVar10 + 7" identifier + number_literal) )))) >> number_literal) != number_literal) ))) )) && (parenthesized_expression "(bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0)" ( (comma_expression "bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0" (assignment_expression "bVar16 = 4" identifier = number_literal) , (binary_expression "(*(byte *)((long)puVar10 + 0x3c) & 2) == 0" (parenthesized_expression "(*(byte *)((long)puVar10 + 0x3c) & 2)" ( (binary_expression "*(byte *)((long)puVar10 + 0x3c) & 2" (pointer_expression "*(byte *)((long)puVar10 + 0x3c)" * (cast_expression "(byte *)((long)puVar10 + 0x3c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar10 + 0x3c)" ( (binary_expression "(long)puVar10 + 0x3c" (cast_expression "(long)puVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) == number_literal)) ))) )) (goto_statement "goto LAB_00310293;" goto statement_identifier ;))) })) (labeled_statement "LAB_003101c0:\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);" statement_identifier : (expression_statement "bVar16 = *(byte *)((long)puVar10 + 0x3b);" (assignment_expression "bVar16 = *(byte *)((long)puVar10 + 0x3b)" identifier = (pointer_expression "*(byte *)((long)puVar10 + 0x3b)" * (cast_expression "(byte *)((long)puVar10 + 0x3b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)puVar10 + 0x3b)" ( (binary_expression "(long)puVar10 + 0x3b" (cast_expression "(long)puVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;)) }))) (if_statement "if ((bVar16 & 4) != 0) {\n              FUN_00446c20(*param_2 + 0x1e0,puVar10,param_2,local_148,local_140);\n            }" if (parenthesized_expression "((bVar16 & 4) != 0)" ( (binary_expression "(bVar16 & 4) != 0" (parenthesized_expression "(bVar16 & 4)" ( (binary_expression "bVar16 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n              FUN_00446c20(*param_2 + 0x1e0,puVar10,param_2,local_148,local_140);\n            }" { (expression_statement "FUN_00446c20(*param_2 + 0x1e0,puVar10,param_2,local_148,local_140);" (call_expression "FUN_00446c20(*param_2 + 0x1e0,puVar10,param_2,local_148,local_140)" identifier (argument_list "(*param_2 + 0x1e0,puVar10,param_2,local_148,local_140)" ( (binary_expression "*param_2 + 0x1e0" (pointer_expression "*param_2" * identifier) + number_literal) , identifier , identifier , identifier , identifier ))) ;) })) })) }))) (expression_statement "local_138 = &local_d8;" (assignment_expression "local_138 = &local_d8" identifier = (pointer_expression "&local_d8" & identifier)) ;) (expression_statement "FUN_001a5bc0(&local_b8);" (call_expression "FUN_001a5bc0(&local_b8)" identifier (argument_list "(&local_b8)" ( (pointer_expression "&local_b8" & identifier) ))) ;) (expression_statement "FUN_001a5bc0(local_138);" (call_expression "FUN_001a5bc0(local_138)" identifier (argument_list "(local_138)" ( identifier ))) ;) })) (expression_statement "local_148 = local_148 + 1;" (assignment_expression "local_148 = local_148 + 1" identifier = (binary_expression "local_148 + 1" identifier + number_literal)) ;) (expression_statement "local_120 = local_120 + 3;" (assignment_expression "local_120 = local_120 + 3" identifier = (binary_expression "local_120 + 3" identifier + number_literal)) ;) }) while (parenthesized_expression "(param_5 != local_148)" ( (binary_expression "param_5 != local_148" identifier != identifier) )) ;) })) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration (sized_type_specifier long) (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration (sized_type_specifier long) (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * (array_declarator IDENT [ LIT ])) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & 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 = (binary_expression (parenthesized_expression ( IDENT )) * (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 < IDENT) )) || (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) < (binary_expression (parenthesized_expression ( (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) )))))) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }))) })) (expression_statement (assignment_expression IDENT = (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 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 ( )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT )))) ;) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (subscript_expression IDENT [ LIT ]) , (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) , IDENT )))) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT)) )) >> LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + (binary_expression IDENT * LIT)) ))))) , (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) ))))) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , IDENT )))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) - (subscript_expression IDENT [ LIT ])) >> LIT) )) * LIT) ))) <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + 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 (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) & LIT) )) == LIT) )) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) - (subscript_expression IDENT [ LIT ])) >> LIT) ))) <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) )))) != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * IDENT) , IDENT , (binary_expression IDENT & LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) == IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) ))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT , IDENT , (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) ))) ;) }))) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) != IDENT) )) (goto_statement goto statement_identifier ;)) })) (goto_statement goto statement_identifier ;) })) })) })) })) })) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , (pointer_expression & IDENT) )))) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence string_content escape_sequence string_content ") )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT , IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence string_content escape_sequence string_content ") )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT )))) != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence string_content escape_sequence ") )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) })) })) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) }))) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") )))) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT ))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + (binary_expression IDENT * LIT)) ))))) , (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) (goto_statement goto statement_identifier ;)) (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 { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;)) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_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 (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) - (subscript_expression IDENT [ LIT ])) >> LIT) ))) <= IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression IDENT * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) & 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 ( (pointer_expression * IDENT) , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != LIT) )) && (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != LIT) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , LIT )))) ;)) (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 (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) })))) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) ))))) < (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) & LIT) )) != LIT) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)))) })) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) < LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) || (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) == LIT) ))) )) (goto_statement goto statement_identifier ;))) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT >> LIT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT)) , IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT)) )) >> LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (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 )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) + (binary_expression IDENT * LIT)) + IDENT)) ;) })) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT )))) ;) })) }))) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) ))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) & LIT) )) == LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) + LIT) )))) != IDENT) )) (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 * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) + LIT) ))))) )) (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) & LIT) )) != LIT) ))) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) ))))) < (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression LIT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) ))))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) & LIT) )) != LIT) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) >> LIT) != LIT) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) & LIT) )) == LIT) ))) )) ))) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;)) }))) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;))) })))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") )))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") )))) ;) }))))) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content escape_sequence string_content escape_sequence string_content ") )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) >> LIT) == LIT) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) & LIT) )) != LIT) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) & LIT)) ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;))) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) < (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) + LIT) )))) == IDENT) )) (goto_statement goto statement_identifier ;))) (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 * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) + LIT) ))))) )) (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;)) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) != IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT , IDENT )))) , (binary_expression IDENT != (char_literal ' escape_sequence '))) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) & LIT)) ;) (labeled_statement statement_identifier : (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) )))) == (char_literal ' escape_sequence ')) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) ))) )) ))) )) (goto_statement goto statement_identifier ;))) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (unary_expression ! IDENT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) & LIT) )) == LIT)) , (unary_expression ! IDENT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (string_literal " string_content "))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) != IDENT) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) < (char_literal ' escape_sequence ')) ))) )) (goto_statement goto statement_identifier ;)) })) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) ))))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) ))))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) >> LIT) != LIT) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = LIT) , (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) & LIT) )) == LIT)) ))) )) (goto_statement goto statement_identifier ;))) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) ))))) ;)) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression (pointer_expression * IDENT) + LIT) , IDENT , IDENT , IDENT , IDENT ))) ;) })) })) }))) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (return_statement return ;) })))
(function_definition "void FUN_0030f910(long param_1,long *param_2,int param_3,uint *param_4,long param_5,\n                 undefined8 param_6,char param_7,long param_8,uint param_9,ulong param_10,\n                 long *param_11)\n\n{\n  uint uVar1;\n  code *pcVar2;\n  long *plVar3;\n  char cVar4;\n  byte bVar5;\n  uint uVar6;\n  int iVar7;\n  int iVar8;\n  undefined8 uVar9;\n  undefined8 *puVar10;\n  undefined8 uVar11;\n  undefined8 uVar12;\n  long lVar13;\n  ulong uVar14;\n  long lVar15;\n  byte bVar16;\n  uint uVar17;\n  byte *pbVar18;\n  byte *pbVar19;\n  byte *pbVar20;\n  uint uVar21;\n  undefined8 *puVar22;\n  long *plVar23;\n  bool bVar24;\n  bool bVar25;\n  bool bVar26;\n  byte bVar27;\n  long local_148;\n  ulong local_140;\n  undefined8 *local_138;\n  uint *local_120;\n  uint local_ec;\n  undefined1 local_e1;\n  undefined1 local_e0 [4];\n  int local_dc;\n  undefined8 local_d8;\n  uint local_d0;\n  undefined4 local_c8;\n  undefined8 local_b8;\n  undefined4 local_b0;\n  int local_a8;\n  undefined8 local_98;\n  undefined4 local_90;\n  int local_88;\n  char local_78;\n  undefined7 uStack_77;\n  undefined1 auStack_68 [16];\n  byte *local_58 [2];\n  byte abStack_48 [24];\n  \n  bVar27 = 0;\n  if (param_3 != 4) {\n                    \n    FUN_00352af0("../../gold/aarch64.cc",0x1fca,"relocate_section");\n  }\n  plVar23 = (long *)param_2[2];\n  if (param_7 != '\0') {\n    lVar13 = FUN_003cfdd0(param_6,plVar23,(int)param_2[6]);\n    if (lVar13 == 0) {\n      plVar23 = (long *)param_2[2];\n    }\n    else {\n      if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    \n        FUN_00352af0("../../gold/output.h",0xc5,"address");\n      }\n      if ((*(byte *)(lVar13 + 0x20) & 2) == 0) {\n                    \n        FUN_00352af0("../../gold/output.h",0xcf,"data_size");\n      }\n      uVar21 = (uint)*(ulong *)(lVar13 + 8);\n      if ((uVar21 < param_9) ||\n         (param_9 + param_10 < (*(ulong *)(lVar13 + 8) & 0xffffffff) + *(ulong *)(lVar13 + 0x10))) {\n                    \n        FUN_00352af0("../../gold/aarch64.cc",0x1fda,"relocate_section");\n      }\n      plVar23 = (long *)param_2[2];\n      param_8 = param_8 + (ulong)(uVar21 - param_9);\n      param_10 = *(ulong *)(lVar13 + 0x10);\n    }\n  }\n  pcVar2 = *(code **)(*plVar23 + 0x118);\n  if (pcVar2 == FUN_001a4ab0) {\n    local_ec = (**(code **)(*plVar23 + 0x178))();\n  }\n  else {\n    local_ec = (*pcVar2)(plVar23);\n  }\n  iVar8 = 0;\n  local_148 = 0;\n  local_120 = param_4;\n  if (param_5 != 0) {\n    do {\n      uVar21 = *local_120;\n      local_140 = (ulong)(uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18);\n      if ((param_7 == '\0') ||\n         (local_140 = FUN_003cff80(param_6,param_2[2],(int)param_2[6],local_140),\n         local_140 != 0xffffffffffffffff)) {\n        local_d0 = 0x80000000;\n        local_c8 = 0;\n        uVar21 = local_120[1];\n        local_d8 = 0xffffffff00000000;\n        uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n        if (uVar21 < local_ec) {\n          if ((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))\n          {\nLAB_0030fa33:\n            iVar7 = *(int *)((long)puVar10 + 0x1c);\n            uVar17 = iVar7 - 1;\n            if (0xfffffffd < uVar17) goto LAB_0030fa42;\nLAB_0030fcf0:\n            if (uVar17 == 0xfffffffd) {\n                    \n              FUN_00352af0("../../gold/object.h",0x70d,"set_output_symtab_index");\n            }\n            local_d8 = CONCAT44(local_d8._4_4_,iVar7);\n            goto LAB_0030fa4a;\n          }\n          if ((ulong)((plVar23[0x2d] - plVar23[0x2c] >> 3) * -0x5555555555555555) <= (ulong)uVar21)\n          {\n                    \n            FUN_00352af0("../../gold/object.h",0x8c1,"local_symbol");\n          }\n          puVar22 = (undefined8 *)(plVar23[0x2c] + (ulong)uVar21 * 0x18);\n          uVar1 = *(uint *)(puVar22 + 1);\n          uVar6 = uVar1 & 0x7ffffff;\n          uVar17 = uVar1 & 0x7ffffff;\n          if (((*(byte *)((long)puVar22 + 0xb) & 8) == 0) || (uVar6 == 0)) {\nLAB_0030fbb3:\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }\n          if ((ulong)(plVar23[0xb] - plVar23[10] >> 3) <= (ulong)uVar6) {\n                    \n                    \n            FUN_00352af0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(long *)(plVar23[10] + (ulong)uVar6 * 8) != 0) goto LAB_0030fbb3;\n          cVar4 = FUN_00443530(*param_2,plVar23,uVar1 & 0x7ffffff);\n          puVar10 = (undefined8 *)0x0;\n          if (cVar4 != '\0') {\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }\nLAB_0030fd25:\n          local_b0 = 0x80000000;\n          local_b8 = 0xffffffff00000000;\n          local_a8 = 0;\n          if (*(code **)(*plVar23 + 0x80) == FUN_0022c990) {\n                    \n            FUN_0022c800(local_58,plVar23 + 0x1f);\n          }\n          else {\n                    \n            (**(code **)(*plVar23 + 0x80))(local_58,plVar23,(int)param_2[6]);\n          }\n          bVar24 = false;\n          bVar26 = iVar8 == 0;\n          if (bVar26) {\n            lVar13 = 6;\n            pbVar18 = local_58[0];\n            pbVar19 = &DAT_00533552;\n            do {\n              if (lVar13 == 0) break;\n              lVar13 = lVar13 + -1;\n              bVar24 = *pbVar18 < *pbVar19;\n              bVar26 = *pbVar18 == *pbVar19;\n              pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n              pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n            } while (bVar26);\n            bVar25 = false;\n            bVar24 = (!bVar24 && !bVar26) == bVar24;\n            if (!bVar24) {\n              lVar13 = 7;\n              pbVar18 = local_58[0];\n              pbVar19 = (byte *)".zdebug";\n              do {\n                if (lVar13 == 0) break;\n                lVar13 = lVar13 + -1;\n                bVar25 = *pbVar18 < *pbVar19;\n                bVar24 = *pbVar18 == *pbVar19;\n                pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar13 = 0x11;\n                pbVar18 = local_58[0];\n                pbVar19 = (byte *)".gnu.linkonce.wi.";\n                do {\n                  if (lVar13 == 0) break;\n                  lVar13 = lVar13 + -1;\n                  bVar26 = *pbVar18 < *pbVar19;\n                  bVar24 = *pbVar18 == *pbVar19;\n                  pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  lVar13 = 5;\n                  pbVar18 = local_58[0];\n                  pbVar19 = (byte *)".line";\n                  do {\n                    if (lVar13 == 0) break;\n                    lVar13 = lVar13 + -1;\n                    bVar25 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    lVar13 = 5;\n                    pbVar18 = local_58[0];\n                    pbVar19 = (byte *)".stab";\n                    do {\n                      if (lVar13 == 0) break;\n                      lVar13 = lVar13 + -1;\n                      bVar26 = *pbVar18 < *pbVar19;\n                      bVar24 = *pbVar18 == *pbVar19;\n                      pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                      pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      lVar13 = 4;\n                      pbVar18 = local_58[0];\n                      pbVar19 = &DAT_0053357f;\n                      do {\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0030fdc0:\n                    \n            iVar8 = FUN_00397c50(plVar23,uVar17,local_58,&local_78);\n            local_a8 = 0;\n            if (local_78 != '\0') {\n              local_a8 = iVar8 + *(int *)(puVar22 + 2);\n            }\n            iVar8 = 1;\n          }\n          else {\n            if (iVar8 == 1) goto LAB_0030fdc0;\n            if (iVar8 == 3) {\nLAB_0030ff50:\n              lVar13 = param_2[2];\n              if (puVar10 == (undefined8 *)0x0) {\n                    \n                uVar9 = FUN_0039dd50(lVar13,uVar21);\n                uVar11 = gettext(\n                                "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                );\n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9,uVar21);\n              }\n              else {\n                    \n                FUN_004443d0(&local_78,puVar10);\n                uVar9 = CONCAT71(uStack_77,local_78);\n                uVar11 = gettext(\n                                "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                );\n                    \n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9);\n                if ((undefined1 *)CONCAT71(uStack_77,local_78) != auStack_68) {\n                  FUN_0049e340();\n                }\n              }\n                    \n              iVar8 = FUN_0039d3c0(lVar13,uVar21,local_e0,&local_e1);\n              if (iVar8 != 0) {\n                    \n                lVar15 = FUN_00397ec0(lVar13,iVar8,&local_dc);\n                if (local_dc != 0) {\n                    \n                  uVar9 = FUN_0039dd50(lVar13);\n                  uVar11 = gettext("  section group signature: \"%s\"");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n                if (lVar15 != 0) {\n                  uVar9 = *(undefined8 *)(lVar15 + 8);\n                  uVar11 = gettext("  prevailing definition is from %s");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n              }\n              iVar8 = 3;\n            }\n            else {\nLAB_00310006:\n              iVar8 = 2;\n            }\n            local_a8 = 0;\n          }\n          if ((int)local_b8 != 0) {\n                    \n                    \n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\n          local_b8 = CONCAT44(local_b8._4_4_,0xffffffff);\n          if (local_58[0] != abStack_48) {\n            FUN_0049e340();\n          }\n          puVar22 = &local_b8;\n          if (-1 < (long)local_140) goto LAB_0030fae5;\nLAB_0030fe48:\n          uVar9 = gettext("reloc has bad offset %zu");\n                    \n          FUN_0034aed0(param_2,local_148,local_140,uVar9,local_140);\n        }\n        else {\n          if ((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))\n          goto LAB_0030fa33;\n          if (uVar21 < *(uint *)(plVar23 + 0x24)) {\nLAB_003107a0:\n                    \n                    \n            FUN_00352af0("../../gold/target-reloc.h",0x17f,"relocate_section");\n          }\n          uVar14 = (ulong)(uVar21 - *(uint *)(plVar23 + 0x24));\n          if ((ulong)(plVar23[0x27] - plVar23[0x26] >> 3) <= uVar14) {\n                    \n            FUN_00352af0("../../gold/object.h",0x8ad,"global_symbol");\n          }\n          puVar10 = *(undefined8 **)(plVar23[0x26] + uVar14 * 8);\n          if (puVar10 == (undefined8 *)0x0) goto LAB_003107a0;\n          if ((*(byte *)((long)puVar10 + 0x3a) & 0x10) == 0) goto LAB_0030fa33;\n                    \n          puVar10 = (undefined8 *)FUN_00443580(*param_2,puVar10);\n          iVar7 = *(int *)((long)puVar10 + 0x1c);\n          uVar17 = iVar7 - 1;\n          if (uVar17 < 0xfffffffe) {\n            if (((int)local_d8 != 0) && ((int)local_d8 != -2)) {\n                    \n                    \n              FUN_00352af0("../../gold/object.h",0x70c,"set_output_symtab_index");\n            }\n            goto LAB_0030fcf0;\n          }\n          if ((int)local_d8 != 0) {\n                    \n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\nLAB_0030fa42:\n          local_d8 = CONCAT44(local_d8._4_4_,0xffffffff);\nLAB_0030fa4a:\n          local_c8 = *(undefined4 *)(puVar10 + 8);\n          if ((*(byte *)(puVar10 + 7) & 0xf) == 6) {\n            local_d0 = local_d0 | 0x20000000;\n          }\n          else if ((*(byte *)(puVar10 + 7) & 0xf) == 10) {\n            local_d0 = local_d0 | 0x40000000;\n          }\n          if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') {\n            if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) {\nLAB_0030fd10:\n                puVar22 = &local_d8;\n                uVar17 = 0;\n                goto LAB_0030fd25;\n              }\n            }\n            else if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 4) goto LAB_0030fd10;\n          }\n          puVar22 = &local_d8;\nLAB_0030faa5:\n          local_b0 = 0x80000000;\n          local_b8 = 0xffffffff00000000;\n          local_a8 = 0;\n          if ((long)local_140 < 0) goto LAB_0030fe48;\nLAB_0030fae5:\n          if ((param_10 <= local_140) || (local_140 + param_8 == 0)) goto LAB_0030fe48;\n          uVar21 = local_120[1];\n          if (uVar21 >> 0x18 != 0) {\n            uVar9 = gettext("Invalid/unrecognized reloc reloc %d.");\n                    \n            FUN_0034a750(uVar9,uVar21 >> 0x18);\n                    \n            FUN_00352af0("../../gold/aarch64-reloc-property.h",0xeb,"code_to_array_index");\n          }\n          if (*DAT_0067dff8 == 0) {\n                    \n            FUN_0031d8d0(local_58,DAT_0067dff8,0);\n            pbVar18 = local_58[0];\n            uVar9 = gettext("cannot relocate %s in object file");\n            uVar21 = *local_120;\n                    \n            FUN_0034aed0(param_2,local_148,\n                         uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18,uVar9,pbVar18);\n            if (local_58[0] != abStack_48) {\n              FUN_0049e340();\n            }\n          }\n          else {\n            plVar3 = (long *)param_2[2];\n            local_90 = 0x80000000;\n            local_98 = 0xffffffff00000000;\n            local_88 = 0;\n            if (puVar10 == (undefined8 *)0x0) {\n              if ((*(byte *)((long)puVar22 + 0xb) & 0x40) != 0) {\n                uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n                    \n                cVar4 = FUN_00397bb0(plVar3,uVar21);\n                if (cVar4 != '\0') {\n                  lVar13 = *(long *)(param_1 + 0x28);\n                  if (lVar13 == 0) {\n                    \n                    FUN_002ed4a0();\n                    goto LAB_003108ca;\n                  }\n                  if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    \n                    \n                    FUN_00352af0("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar9 = *(undefined8 *)(lVar13 + 8);\n                  iVar7 = *(int *)(lVar13 + 0x68);\n                  local_88 = (**(code **)(*plVar3 + 0x150))(plVar3,uVar21);\n                  local_88 = (int)uVar9 + 0x20 + iVar7 * 0x10 + local_88;\n                }\n              }\n            }\n            else {\n                    \n              cVar4 = FUN_00228fa0(puVar10,*(undefined4 *)(*DAT_0067dff8 + 0x4c));\n              if (cVar4 != '\0') {\n                if (*(long *)(param_1 + 0x28) == 0) {\n                    \n                  FUN_002ed4a0();\n                  goto LAB_00310805;\n                }\n                local_88 = FUN_002f9c90(*(long *)(param_1 + 0x28),puVar10);\n              }\n            }\n            FUN_001a5bc0(&local_98);\n          }\n          if (puVar10 != (undefined8 *)0x0) {\n            bVar16 = *(byte *)((long)puVar10 + 0x3a);\n            bVar5 = bVar16 & 7;\n            if ((bVar16 & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) != 0) || ((*(byte *)((long)puVar10 + 0x3b) & 0x20) == 0)) {\n                if (*(code **)(*(long *)puVar10[2] + 0x28) != FUN_001a4aa0) {\n                  lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                  if (lVar13 != 0) {\n                    bVar16 = *(byte *)((long)puVar10 + 0x3a);\n                    bVar5 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar5 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)puVar10 + 0x3b)) goto LAB_00310305;\n                    bVar5 = *(byte *)((long)puVar10 + 0x39);\n                    if ((bVar5 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }\nLAB_0031015a:\n                bVar16 = bVar16 & 7;\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                if ((*(byte *)((long)puVar10 + 0x39) & 3) == 0) goto LAB_003101c0;\nLAB_00310166:\n                if (((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)\n                    ) && ((*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0)))) {\nLAB_00310293:\n                  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_003108ca:\n                    \n                    \n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') {\n                    if (bVar16 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)(puVar10[2] + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }\n                if (bVar5 == 2) {\n                  uVar9 = gettext("hidden");\n                }\n                else if (bVar5 < 3) {\n                  if (bVar5 != 1) {\n                    \n                    FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar9 = gettext("internal");\n                }\n                else {\n                  uVar9 = gettext("protected");\n                }\n                uVar11 = *puVar10;\n                uVar12 = gettext("%s symbol \'%s\' is not defined locally");\n                    \n                FUN_0034a750(uVar12,uVar9,uVar11);\n                goto LAB_003101c0;\n              }\nLAB_0031020c:\n              if ((*(byte *)(puVar10 + 7) >> 4 == 2) || ((*(byte *)((long)puVar10 + 0x3c) & 2) != 0)\n                 ) {\nLAB_00310438:\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_0031043f:\n                if (bVar5 == 0) goto LAB_003101c0;\n                bVar16 = *(byte *)((long)puVar10 + 0x3a) & 7;\n                if (bVar16 != 0) goto LAB_00310270;\n                goto LAB_00310166;\n              }\n              if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\n                    \n                    \n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') goto LAB_00310438;\n              if (*(char *)((long)puVar10 + 0x3b) < '\0') {\n                if (bVar5 != 0) goto LAB_00310260;\nLAB_003105b8:\n                if (*(code **)(*(long *)puVar10[2] + 0x28) == FUN_001a4aa0) goto LAB_0031015a;\n                    \n                lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                if (lVar13 == 0) goto LAB_00310438;\n              }\nLAB_00310305:\n              plVar3 = *(long **)(PTR_DAT_0067cb08 + 0x18);\n              if (plVar3 == (long *)0x0) {\nLAB_00310805:\n                    \n                    \n                FUN_00352af0("../../gold/parameters.h",0x69,"target");\n              }\n              if ((*(code **)(*plVar3 + 0x38) != FUN_001a49e0) &&\n                 (cVar4 = (**(code **)(*plVar3 + 0x38))(plVar3,puVar10), cVar4 != '\0'))\n              goto LAB_00310438;\n              lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar13 == 0) {\n                    \n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              pbVar18 = *(byte **)(lVar13 + 0x6c40);\n              bVar24 = false;\n              bVar26 = pbVar18 == (byte *)0x0;\n              if (bVar26) {\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_003103c9:\n                if ((bVar5 == 2) ||\n                   ((*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0'))))\n                goto LAB_003103e1;\n                goto LAB_0031043f;\n              }\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"ignore-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar24 = *pbVar19 < *pbVar20;\n                bVar26 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar26);\n              bVar25 = false;\n              bVar24 = (!bVar24 && !bVar26) == bVar24;\n              if (bVar24) goto LAB_00310438;\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"report-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar25 = *pbVar19 < *pbVar20;\n                bVar24 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar15 = 0x17;\n                pbVar19 = pbVar18;\n                pbVar20 = (byte *)"ignore-in-object-files";\n                do {\n                  if (lVar15 == 0) break;\n                  lVar15 = lVar15 + -1;\n                  bVar26 = *pbVar19 < *pbVar20;\n                  bVar24 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if ((!bVar24) || (bVar24 = (*(byte *)((long)puVar10 + 0x3b) & 1) == 0, !bVar24)) {\n                  bVar26 = false;\n                  lVar15 = 0x16;\n                  pbVar19 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    if (lVar15 == 0) break;\n                    lVar15 = lVar15 + -1;\n                    bVar26 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  if (((!bVar26 && !bVar24) != bVar26) || (*(char *)((long)puVar10 + 0x3a) < '\0'))\n                  goto LAB_003103c9;\n                }\n                goto LAB_0031043f;\n              }\nLAB_003103e1:\n              FUN_0034b9f0(puVar10,param_2,local_148,local_140);\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            else {\n              if (bVar5 == 4) goto LAB_0031020c;\nLAB_00310260:\n              bVar5 = *(byte *)((long)puVar10 + 0x39);\n              if ((bVar5 & 3) != 0) {\nLAB_0031026d:\n                bVar5 = bVar5 & 3;\n                bVar16 = bVar16 & 7;\nLAB_00310270:\n                if (((bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2)) &&\n                   (bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0)) goto LAB_00310293;\n              }\nLAB_003101c0:\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            if ((bVar16 & 4) != 0) {\n              FUN_00446c20(*param_2 + 0x1e0,puVar10,param_2,local_148,local_140);\n            }\n          }\n        }\n        local_138 = &local_d8;\n        FUN_001a5bc0(&local_b8);\n        FUN_001a5bc0(local_138);\n      }\n      local_148 = local_148 + 1;\n      local_120 = local_120 + 3;\n    } while (param_5 != local_148);\n  }\n  return;\n}" (primitive_type "void") (function_declarator "FUN_0030f910(long param_1,long *param_2,int param_3,uint *param_4,long param_5,\n                 undefined8 param_6,char param_7,long param_8,uint param_9,ulong param_10,\n                 long *param_11)" (identifier "FUN_0030f910") (parameter_list "(long param_1,long *param_2,int param_3,uint *param_4,long param_5,\n                 undefined8 param_6,char param_7,long param_8,uint param_9,ulong param_10,\n                 long *param_11)" (( "(") (parameter_declaration "long param_1" (sized_type_specifier "long" (long "long")) (identifier "param_1")) (, ",") (parameter_declaration "long *param_2" (sized_type_specifier "long" (long "long")) (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "int param_3" (primitive_type "int") (identifier "param_3")) (, ",") (parameter_declaration "uint *param_4" (type_identifier "uint") (pointer_declarator "*param_4" (* "*") (identifier "param_4"))) (, ",") (parameter_declaration "long param_5" (sized_type_specifier "long" (long "long")) (identifier "param_5")) (, ",") (parameter_declaration "undefined8 param_6" (type_identifier "undefined8") (identifier "param_6")) (, ",") (parameter_declaration "char param_7" (primitive_type "char") (identifier "param_7")) (, ",") (parameter_declaration "long param_8" (sized_type_specifier "long" (long "long")) (identifier "param_8")) (, ",") (parameter_declaration "uint param_9" (type_identifier "uint") (identifier "param_9")) (, ",") (parameter_declaration "ulong param_10" (type_identifier "ulong") (identifier "param_10")) (, ",") (parameter_declaration "long *param_11" (sized_type_specifier "long" (long "long")) (pointer_declarator "*param_11" (* "*") (identifier "param_11"))) () ")"))) (compound_statement "{\n  uint uVar1;\n  code *pcVar2;\n  long *plVar3;\n  char cVar4;\n  byte bVar5;\n  uint uVar6;\n  int iVar7;\n  int iVar8;\n  undefined8 uVar9;\n  undefined8 *puVar10;\n  undefined8 uVar11;\n  undefined8 uVar12;\n  long lVar13;\n  ulong uVar14;\n  long lVar15;\n  byte bVar16;\n  uint uVar17;\n  byte *pbVar18;\n  byte *pbVar19;\n  byte *pbVar20;\n  uint uVar21;\n  undefined8 *puVar22;\n  long *plVar23;\n  bool bVar24;\n  bool bVar25;\n  bool bVar26;\n  byte bVar27;\n  long local_148;\n  ulong local_140;\n  undefined8 *local_138;\n  uint *local_120;\n  uint local_ec;\n  undefined1 local_e1;\n  undefined1 local_e0 [4];\n  int local_dc;\n  undefined8 local_d8;\n  uint local_d0;\n  undefined4 local_c8;\n  undefined8 local_b8;\n  undefined4 local_b0;\n  int local_a8;\n  undefined8 local_98;\n  undefined4 local_90;\n  int local_88;\n  char local_78;\n  undefined7 uStack_77;\n  undefined1 auStack_68 [16];\n  byte *local_58 [2];\n  byte abStack_48 [24];\n  \n  bVar27 = 0;\n  if (param_3 != 4) {\n                    \n    FUN_00352af0("../../gold/aarch64.cc",0x1fca,"relocate_section");\n  }\n  plVar23 = (long *)param_2[2];\n  if (param_7 != '\0') {\n    lVar13 = FUN_003cfdd0(param_6,plVar23,(int)param_2[6]);\n    if (lVar13 == 0) {\n      plVar23 = (long *)param_2[2];\n    }\n    else {\n      if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    \n        FUN_00352af0("../../gold/output.h",0xc5,"address");\n      }\n      if ((*(byte *)(lVar13 + 0x20) & 2) == 0) {\n                    \n        FUN_00352af0("../../gold/output.h",0xcf,"data_size");\n      }\n      uVar21 = (uint)*(ulong *)(lVar13 + 8);\n      if ((uVar21 < param_9) ||\n         (param_9 + param_10 < (*(ulong *)(lVar13 + 8) & 0xffffffff) + *(ulong *)(lVar13 + 0x10))) {\n                    \n        FUN_00352af0("../../gold/aarch64.cc",0x1fda,"relocate_section");\n      }\n      plVar23 = (long *)param_2[2];\n      param_8 = param_8 + (ulong)(uVar21 - param_9);\n      param_10 = *(ulong *)(lVar13 + 0x10);\n    }\n  }\n  pcVar2 = *(code **)(*plVar23 + 0x118);\n  if (pcVar2 == FUN_001a4ab0) {\n    local_ec = (**(code **)(*plVar23 + 0x178))();\n  }\n  else {\n    local_ec = (*pcVar2)(plVar23);\n  }\n  iVar8 = 0;\n  local_148 = 0;\n  local_120 = param_4;\n  if (param_5 != 0) {\n    do {\n      uVar21 = *local_120;\n      local_140 = (ulong)(uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18);\n      if ((param_7 == '\0') ||\n         (local_140 = FUN_003cff80(param_6,param_2[2],(int)param_2[6],local_140),\n         local_140 != 0xffffffffffffffff)) {\n        local_d0 = 0x80000000;\n        local_c8 = 0;\n        uVar21 = local_120[1];\n        local_d8 = 0xffffffff00000000;\n        uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n        if (uVar21 < local_ec) {\n          if ((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))\n          {\nLAB_0030fa33:\n            iVar7 = *(int *)((long)puVar10 + 0x1c);\n            uVar17 = iVar7 - 1;\n            if (0xfffffffd < uVar17) goto LAB_0030fa42;\nLAB_0030fcf0:\n            if (uVar17 == 0xfffffffd) {\n                    \n              FUN_00352af0("../../gold/object.h",0x70d,"set_output_symtab_index");\n            }\n            local_d8 = CONCAT44(local_d8._4_4_,iVar7);\n            goto LAB_0030fa4a;\n          }\n          if ((ulong)((plVar23[0x2d] - plVar23[0x2c] >> 3) * -0x5555555555555555) <= (ulong)uVar21)\n          {\n                    \n            FUN_00352af0("../../gold/object.h",0x8c1,"local_symbol");\n          }\n          puVar22 = (undefined8 *)(plVar23[0x2c] + (ulong)uVar21 * 0x18);\n          uVar1 = *(uint *)(puVar22 + 1);\n          uVar6 = uVar1 & 0x7ffffff;\n          uVar17 = uVar1 & 0x7ffffff;\n          if (((*(byte *)((long)puVar22 + 0xb) & 8) == 0) || (uVar6 == 0)) {\nLAB_0030fbb3:\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }\n          if ((ulong)(plVar23[0xb] - plVar23[10] >> 3) <= (ulong)uVar6) {\n                    \n                    \n            FUN_00352af0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(long *)(plVar23[10] + (ulong)uVar6 * 8) != 0) goto LAB_0030fbb3;\n          cVar4 = FUN_00443530(*param_2,plVar23,uVar1 & 0x7ffffff);\n          puVar10 = (undefined8 *)0x0;\n          if (cVar4 != '\0') {\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }\nLAB_0030fd25:\n          local_b0 = 0x80000000;\n          local_b8 = 0xffffffff00000000;\n          local_a8 = 0;\n          if (*(code **)(*plVar23 + 0x80) == FUN_0022c990) {\n                    \n            FUN_0022c800(local_58,plVar23 + 0x1f);\n          }\n          else {\n                    \n            (**(code **)(*plVar23 + 0x80))(local_58,plVar23,(int)param_2[6]);\n          }\n          bVar24 = false;\n          bVar26 = iVar8 == 0;\n          if (bVar26) {\n            lVar13 = 6;\n            pbVar18 = local_58[0];\n            pbVar19 = &DAT_00533552;\n            do {\n              if (lVar13 == 0) break;\n              lVar13 = lVar13 + -1;\n              bVar24 = *pbVar18 < *pbVar19;\n              bVar26 = *pbVar18 == *pbVar19;\n              pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n              pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n            } while (bVar26);\n            bVar25 = false;\n            bVar24 = (!bVar24 && !bVar26) == bVar24;\n            if (!bVar24) {\n              lVar13 = 7;\n              pbVar18 = local_58[0];\n              pbVar19 = (byte *)".zdebug";\n              do {\n                if (lVar13 == 0) break;\n                lVar13 = lVar13 + -1;\n                bVar25 = *pbVar18 < *pbVar19;\n                bVar24 = *pbVar18 == *pbVar19;\n                pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar13 = 0x11;\n                pbVar18 = local_58[0];\n                pbVar19 = (byte *)".gnu.linkonce.wi.";\n                do {\n                  if (lVar13 == 0) break;\n                  lVar13 = lVar13 + -1;\n                  bVar26 = *pbVar18 < *pbVar19;\n                  bVar24 = *pbVar18 == *pbVar19;\n                  pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  lVar13 = 5;\n                  pbVar18 = local_58[0];\n                  pbVar19 = (byte *)".line";\n                  do {\n                    if (lVar13 == 0) break;\n                    lVar13 = lVar13 + -1;\n                    bVar25 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    lVar13 = 5;\n                    pbVar18 = local_58[0];\n                    pbVar19 = (byte *)".stab";\n                    do {\n                      if (lVar13 == 0) break;\n                      lVar13 = lVar13 + -1;\n                      bVar26 = *pbVar18 < *pbVar19;\n                      bVar24 = *pbVar18 == *pbVar19;\n                      pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                      pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      lVar13 = 4;\n                      pbVar18 = local_58[0];\n                      pbVar19 = &DAT_0053357f;\n                      do {\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0030fdc0:\n                    \n            iVar8 = FUN_00397c50(plVar23,uVar17,local_58,&local_78);\n            local_a8 = 0;\n            if (local_78 != '\0') {\n              local_a8 = iVar8 + *(int *)(puVar22 + 2);\n            }\n            iVar8 = 1;\n          }\n          else {\n            if (iVar8 == 1) goto LAB_0030fdc0;\n            if (iVar8 == 3) {\nLAB_0030ff50:\n              lVar13 = param_2[2];\n              if (puVar10 == (undefined8 *)0x0) {\n                    \n                uVar9 = FUN_0039dd50(lVar13,uVar21);\n                uVar11 = gettext(\n                                "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                );\n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9,uVar21);\n              }\n              else {\n                    \n                FUN_004443d0(&local_78,puVar10);\n                uVar9 = CONCAT71(uStack_77,local_78);\n                uVar11 = gettext(\n                                "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                );\n                    \n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9);\n                if ((undefined1 *)CONCAT71(uStack_77,local_78) != auStack_68) {\n                  FUN_0049e340();\n                }\n              }\n                    \n              iVar8 = FUN_0039d3c0(lVar13,uVar21,local_e0,&local_e1);\n              if (iVar8 != 0) {\n                    \n                lVar15 = FUN_00397ec0(lVar13,iVar8,&local_dc);\n                if (local_dc != 0) {\n                    \n                  uVar9 = FUN_0039dd50(lVar13);\n                  uVar11 = gettext("  section group signature: \"%s\"");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n                if (lVar15 != 0) {\n                  uVar9 = *(undefined8 *)(lVar15 + 8);\n                  uVar11 = gettext("  prevailing definition is from %s");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n              }\n              iVar8 = 3;\n            }\n            else {\nLAB_00310006:\n              iVar8 = 2;\n            }\n            local_a8 = 0;\n          }\n          if ((int)local_b8 != 0) {\n                    \n                    \n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\n          local_b8 = CONCAT44(local_b8._4_4_,0xffffffff);\n          if (local_58[0] != abStack_48) {\n            FUN_0049e340();\n          }\n          puVar22 = &local_b8;\n          if (-1 < (long)local_140) goto LAB_0030fae5;\nLAB_0030fe48:\n          uVar9 = gettext("reloc has bad offset %zu");\n                    \n          FUN_0034aed0(param_2,local_148,local_140,uVar9,local_140);\n        }\n        else {\n          if ((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))\n          goto LAB_0030fa33;\n          if (uVar21 < *(uint *)(plVar23 + 0x24)) {\nLAB_003107a0:\n                    \n                    \n            FUN_00352af0("../../gold/target-reloc.h",0x17f,"relocate_section");\n          }\n          uVar14 = (ulong)(uVar21 - *(uint *)(plVar23 + 0x24));\n          if ((ulong)(plVar23[0x27] - plVar23[0x26] >> 3) <= uVar14) {\n                    \n            FUN_00352af0("../../gold/object.h",0x8ad,"global_symbol");\n          }\n          puVar10 = *(undefined8 **)(plVar23[0x26] + uVar14 * 8);\n          if (puVar10 == (undefined8 *)0x0) goto LAB_003107a0;\n          if ((*(byte *)((long)puVar10 + 0x3a) & 0x10) == 0) goto LAB_0030fa33;\n                    \n          puVar10 = (undefined8 *)FUN_00443580(*param_2,puVar10);\n          iVar7 = *(int *)((long)puVar10 + 0x1c);\n          uVar17 = iVar7 - 1;\n          if (uVar17 < 0xfffffffe) {\n            if (((int)local_d8 != 0) && ((int)local_d8 != -2)) {\n                    \n                    \n              FUN_00352af0("../../gold/object.h",0x70c,"set_output_symtab_index");\n            }\n            goto LAB_0030fcf0;\n          }\n          if ((int)local_d8 != 0) {\n                    \n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\nLAB_0030fa42:\n          local_d8 = CONCAT44(local_d8._4_4_,0xffffffff);\nLAB_0030fa4a:\n          local_c8 = *(undefined4 *)(puVar10 + 8);\n          if ((*(byte *)(puVar10 + 7) & 0xf) == 6) {\n            local_d0 = local_d0 | 0x20000000;\n          }\n          else if ((*(byte *)(puVar10 + 7) & 0xf) == 10) {\n            local_d0 = local_d0 | 0x40000000;\n          }\n          if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') {\n            if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) {\nLAB_0030fd10:\n                puVar22 = &local_d8;\n                uVar17 = 0;\n                goto LAB_0030fd25;\n              }\n            }\n            else if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 4) goto LAB_0030fd10;\n          }\n          puVar22 = &local_d8;\nLAB_0030faa5:\n          local_b0 = 0x80000000;\n          local_b8 = 0xffffffff00000000;\n          local_a8 = 0;\n          if ((long)local_140 < 0) goto LAB_0030fe48;\nLAB_0030fae5:\n          if ((param_10 <= local_140) || (local_140 + param_8 == 0)) goto LAB_0030fe48;\n          uVar21 = local_120[1];\n          if (uVar21 >> 0x18 != 0) {\n            uVar9 = gettext("Invalid/unrecognized reloc reloc %d.");\n                    \n            FUN_0034a750(uVar9,uVar21 >> 0x18);\n                    \n            FUN_00352af0("../../gold/aarch64-reloc-property.h",0xeb,"code_to_array_index");\n          }\n          if (*DAT_0067dff8 == 0) {\n                    \n            FUN_0031d8d0(local_58,DAT_0067dff8,0);\n            pbVar18 = local_58[0];\n            uVar9 = gettext("cannot relocate %s in object file");\n            uVar21 = *local_120;\n                    \n            FUN_0034aed0(param_2,local_148,\n                         uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18,uVar9,pbVar18);\n            if (local_58[0] != abStack_48) {\n              FUN_0049e340();\n            }\n          }\n          else {\n            plVar3 = (long *)param_2[2];\n            local_90 = 0x80000000;\n            local_98 = 0xffffffff00000000;\n            local_88 = 0;\n            if (puVar10 == (undefined8 *)0x0) {\n              if ((*(byte *)((long)puVar22 + 0xb) & 0x40) != 0) {\n                uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n                    \n                cVar4 = FUN_00397bb0(plVar3,uVar21);\n                if (cVar4 != '\0') {\n                  lVar13 = *(long *)(param_1 + 0x28);\n                  if (lVar13 == 0) {\n                    \n                    FUN_002ed4a0();\n                    goto LAB_003108ca;\n                  }\n                  if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    \n                    \n                    FUN_00352af0("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar9 = *(undefined8 *)(lVar13 + 8);\n                  iVar7 = *(int *)(lVar13 + 0x68);\n                  local_88 = (**(code **)(*plVar3 + 0x150))(plVar3,uVar21);\n                  local_88 = (int)uVar9 + 0x20 + iVar7 * 0x10 + local_88;\n                }\n              }\n            }\n            else {\n                    \n              cVar4 = FUN_00228fa0(puVar10,*(undefined4 *)(*DAT_0067dff8 + 0x4c));\n              if (cVar4 != '\0') {\n                if (*(long *)(param_1 + 0x28) == 0) {\n                    \n                  FUN_002ed4a0();\n                  goto LAB_00310805;\n                }\n                local_88 = FUN_002f9c90(*(long *)(param_1 + 0x28),puVar10);\n              }\n            }\n            FUN_001a5bc0(&local_98);\n          }\n          if (puVar10 != (undefined8 *)0x0) {\n            bVar16 = *(byte *)((long)puVar10 + 0x3a);\n            bVar5 = bVar16 & 7;\n            if ((bVar16 & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) != 0) || ((*(byte *)((long)puVar10 + 0x3b) & 0x20) == 0)) {\n                if (*(code **)(*(long *)puVar10[2] + 0x28) != FUN_001a4aa0) {\n                  lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                  if (lVar13 != 0) {\n                    bVar16 = *(byte *)((long)puVar10 + 0x3a);\n                    bVar5 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar5 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)puVar10 + 0x3b)) goto LAB_00310305;\n                    bVar5 = *(byte *)((long)puVar10 + 0x39);\n                    if ((bVar5 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }\nLAB_0031015a:\n                bVar16 = bVar16 & 7;\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                if ((*(byte *)((long)puVar10 + 0x39) & 3) == 0) goto LAB_003101c0;\nLAB_00310166:\n                if (((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)\n                    ) && ((*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0)))) {\nLAB_00310293:\n                  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_003108ca:\n                    \n                    \n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') {\n                    if (bVar16 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)(puVar10[2] + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }\n                if (bVar5 == 2) {\n                  uVar9 = gettext("hidden");\n                }\n                else if (bVar5 < 3) {\n                  if (bVar5 != 1) {\n                    \n                    FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar9 = gettext("internal");\n                }\n                else {\n                  uVar9 = gettext("protected");\n                }\n                uVar11 = *puVar10;\n                uVar12 = gettext("%s symbol \'%s\' is not defined locally");\n                    \n                FUN_0034a750(uVar12,uVar9,uVar11);\n                goto LAB_003101c0;\n              }\nLAB_0031020c:\n              if ((*(byte *)(puVar10 + 7) >> 4 == 2) || ((*(byte *)((long)puVar10 + 0x3c) & 2) != 0)\n                 ) {\nLAB_00310438:\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_0031043f:\n                if (bVar5 == 0) goto LAB_003101c0;\n                bVar16 = *(byte *)((long)puVar10 + 0x3a) & 7;\n                if (bVar16 != 0) goto LAB_00310270;\n                goto LAB_00310166;\n              }\n              if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\n                    \n                    \n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') goto LAB_00310438;\n              if (*(char *)((long)puVar10 + 0x3b) < '\0') {\n                if (bVar5 != 0) goto LAB_00310260;\nLAB_003105b8:\n                if (*(code **)(*(long *)puVar10[2] + 0x28) == FUN_001a4aa0) goto LAB_0031015a;\n                    \n                lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                if (lVar13 == 0) goto LAB_00310438;\n              }\nLAB_00310305:\n              plVar3 = *(long **)(PTR_DAT_0067cb08 + 0x18);\n              if (plVar3 == (long *)0x0) {\nLAB_00310805:\n                    \n                    \n                FUN_00352af0("../../gold/parameters.h",0x69,"target");\n              }\n              if ((*(code **)(*plVar3 + 0x38) != FUN_001a49e0) &&\n                 (cVar4 = (**(code **)(*plVar3 + 0x38))(plVar3,puVar10), cVar4 != '\0'))\n              goto LAB_00310438;\n              lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar13 == 0) {\n                    \n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              pbVar18 = *(byte **)(lVar13 + 0x6c40);\n              bVar24 = false;\n              bVar26 = pbVar18 == (byte *)0x0;\n              if (bVar26) {\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_003103c9:\n                if ((bVar5 == 2) ||\n                   ((*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0'))))\n                goto LAB_003103e1;\n                goto LAB_0031043f;\n              }\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"ignore-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar24 = *pbVar19 < *pbVar20;\n                bVar26 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar26);\n              bVar25 = false;\n              bVar24 = (!bVar24 && !bVar26) == bVar24;\n              if (bVar24) goto LAB_00310438;\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"report-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar25 = *pbVar19 < *pbVar20;\n                bVar24 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar15 = 0x17;\n                pbVar19 = pbVar18;\n                pbVar20 = (byte *)"ignore-in-object-files";\n                do {\n                  if (lVar15 == 0) break;\n                  lVar15 = lVar15 + -1;\n                  bVar26 = *pbVar19 < *pbVar20;\n                  bVar24 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if ((!bVar24) || (bVar24 = (*(byte *)((long)puVar10 + 0x3b) & 1) == 0, !bVar24)) {\n                  bVar26 = false;\n                  lVar15 = 0x16;\n                  pbVar19 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    if (lVar15 == 0) break;\n                    lVar15 = lVar15 + -1;\n                    bVar26 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  if (((!bVar26 && !bVar24) != bVar26) || (*(char *)((long)puVar10 + 0x3a) < '\0'))\n                  goto LAB_003103c9;\n                }\n                goto LAB_0031043f;\n              }\nLAB_003103e1:\n              FUN_0034b9f0(puVar10,param_2,local_148,local_140);\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            else {\n              if (bVar5 == 4) goto LAB_0031020c;\nLAB_00310260:\n              bVar5 = *(byte *)((long)puVar10 + 0x39);\n              if ((bVar5 & 3) != 0) {\nLAB_0031026d:\n                bVar5 = bVar5 & 3;\n                bVar16 = bVar16 & 7;\nLAB_00310270:\n                if (((bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2)) &&\n                   (bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0)) goto LAB_00310293;\n              }\nLAB_003101c0:\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            if ((bVar16 & 4) != 0) {\n              FUN_00446c20(*param_2 + 0x1e0,puVar10,param_2,local_148,local_140);\n            }\n          }\n        }\n        local_138 = &local_d8;\n        FUN_001a5bc0(&local_b8);\n        FUN_001a5bc0(local_138);\n      }\n      local_148 = local_148 + 1;\n      local_120 = local_120 + 3;\n    } while (param_5 != local_148);\n  }\n  return;\n}" ({ "{") (declaration "uint uVar1;" (type_identifier "uint") (identifier "uVar1") (; ";")) (declaration "code *pcVar2;" (type_identifier "code") (pointer_declarator "*pcVar2" (* "*") (identifier "pcVar2")) (; ";")) (declaration "long *plVar3;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*plVar3" (* "*") (identifier "plVar3")) (; ";")) (declaration "char cVar4;" (primitive_type "char") (identifier "cVar4") (; ";")) (declaration "byte bVar5;" (type_identifier "byte") (identifier "bVar5") (; ";")) (declaration "uint uVar6;" (type_identifier "uint") (identifier "uVar6") (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "undefined8 uVar9;" (type_identifier "undefined8") (identifier "uVar9") (; ";")) (declaration "undefined8 *puVar10;" (type_identifier "undefined8") (pointer_declarator "*puVar10" (* "*") (identifier "puVar10")) (; ";")) (declaration "undefined8 uVar11;" (type_identifier "undefined8") (identifier "uVar11") (; ";")) (declaration "undefined8 uVar12;" (type_identifier "undefined8") (identifier "uVar12") (; ";")) (declaration "long lVar13;" (sized_type_specifier "long" (long "long")) (identifier "lVar13") (; ";")) (declaration "ulong uVar14;" (type_identifier "ulong") (identifier "uVar14") (; ";")) (declaration "long lVar15;" (sized_type_specifier "long" (long "long")) (identifier "lVar15") (; ";")) (declaration "byte bVar16;" (type_identifier "byte") (identifier "bVar16") (; ";")) (declaration "uint uVar17;" (type_identifier "uint") (identifier "uVar17") (; ";")) (declaration "byte *pbVar18;" (type_identifier "byte") (pointer_declarator "*pbVar18" (* "*") (identifier "pbVar18")) (; ";")) (declaration "byte *pbVar19;" (type_identifier "byte") (pointer_declarator "*pbVar19" (* "*") (identifier "pbVar19")) (; ";")) (declaration "byte *pbVar20;" (type_identifier "byte") (pointer_declarator "*pbVar20" (* "*") (identifier "pbVar20")) (; ";")) (declaration "uint uVar21;" (type_identifier "uint") (identifier "uVar21") (; ";")) (declaration "undefined8 *puVar22;" (type_identifier "undefined8") (pointer_declarator "*puVar22" (* "*") (identifier "puVar22")) (; ";")) (declaration "long *plVar23;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*plVar23" (* "*") (identifier "plVar23")) (; ";")) (declaration "bool bVar24;" (primitive_type "bool") (identifier "bVar24") (; ";")) (declaration "bool bVar25;" (primitive_type "bool") (identifier "bVar25") (; ";")) (declaration "bool bVar26;" (primitive_type "bool") (identifier "bVar26") (; ";")) (declaration "byte bVar27;" (type_identifier "byte") (identifier "bVar27") (; ";")) (declaration "long local_148;" (sized_type_specifier "long" (long "long")) (identifier "local_148") (; ";")) (declaration "ulong local_140;" (type_identifier "ulong") (identifier "local_140") (; ";")) (declaration "undefined8 *local_138;" (type_identifier "undefined8") (pointer_declarator "*local_138" (* "*") (identifier "local_138")) (; ";")) (declaration "uint *local_120;" (type_identifier "uint") (pointer_declarator "*local_120" (* "*") (identifier "local_120")) (; ";")) (declaration "uint local_ec;" (type_identifier "uint") (identifier "local_ec") (; ";")) (declaration "undefined1 local_e1;" (type_identifier "undefined1") (identifier "local_e1") (; ";")) (declaration "undefined1 local_e0 [4];" (type_identifier "undefined1") (array_declarator "local_e0 [4]" (identifier "local_e0") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "int local_dc;" (primitive_type "int") (identifier "local_dc") (; ";")) (declaration "undefined8 local_d8;" (type_identifier "undefined8") (identifier "local_d8") (; ";")) (declaration "uint local_d0;" (type_identifier "uint") (identifier "local_d0") (; ";")) (declaration "undefined4 local_c8;" (type_identifier "undefined4") (identifier "local_c8") (; ";")) (declaration "undefined8 local_b8;" (type_identifier "undefined8") (identifier "local_b8") (; ";")) (declaration "undefined4 local_b0;" (type_identifier "undefined4") (identifier "local_b0") (; ";")) (declaration "int local_a8;" (primitive_type "int") (identifier "local_a8") (; ";")) (declaration "undefined8 local_98;" (type_identifier "undefined8") (identifier "local_98") (; ";")) (declaration "undefined4 local_90;" (type_identifier "undefined4") (identifier "local_90") (; ";")) (declaration "int local_88;" (primitive_type "int") (identifier "local_88") (; ";")) (declaration "char local_78;" (primitive_type "char") (identifier "local_78") (; ";")) (declaration "undefined7 uStack_77;" (type_identifier "undefined7") (identifier "uStack_77") (; ";")) (declaration "undefined1 auStack_68 [16];" (type_identifier "undefined1") (array_declarator "auStack_68 [16]" (identifier "auStack_68") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "byte *local_58 [2];" (type_identifier "byte") (pointer_declarator "*local_58 [2]" (* "*") (array_declarator "local_58 [2]" (identifier "local_58") ([ "[") (number_literal "2") (] "]"))) (; ";")) (declaration "byte abStack_48 [24];" (type_identifier "byte") (array_declarator "abStack_48 [24]" (identifier "abStack_48") ([ "[") (number_literal "24") (] "]")) (; ";")) (expression_statement "bVar27 = 0;" (assignment_expression "bVar27 = 0" (identifier "bVar27") (= "=") (number_literal "0")) (; ";")) (if_statement "if (param_3 != 4) {\n                    \n    FUN_00352af0("../../gold/aarch64.cc",0x1fca,"relocate_section");\n  }" (if "if") (parenthesized_expression "(param_3 != 4)" (( "(") (binary_expression "param_3 != 4" (identifier "param_3") (!= "!=") (number_literal "4")) () ")")) (compound_statement "{\n                    \n    FUN_00352af0("../../gold/aarch64.cc",0x1fca,"relocate_section");\n  }" ({ "{") (expression_statement "FUN_00352af0("../../gold/aarch64.cc",0x1fca,"relocate_section");" (call_expression "FUN_00352af0("../../gold/aarch64.cc",0x1fca,"relocate_section")" (identifier "FUN_00352af0") (argument_list "("../../gold/aarch64.cc",0x1fca,"relocate_section")" (( "(") (string_literal ""../../gold/aarch64.cc"" (" """) (string_content "../../gold/aarch64.cc") (" """)) (, ",") (number_literal "0x1fca") (, ",") (string_literal ""relocate_section"" (" """) (string_content "relocate_section") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "plVar23 = (long *)param_2[2];" (assignment_expression "plVar23 = (long *)param_2[2]" (identifier "plVar23") (= "=") (cast_expression "(long *)param_2[2]" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]")))) (; ";")) (if_statement "if (param_7 != '\0') {\n    lVar13 = FUN_003cfdd0(param_6,plVar23,(int)param_2[6]);\n    if (lVar13 == 0) {\n      plVar23 = (long *)param_2[2];\n    }\n    else {\n      if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    \n        FUN_00352af0("../../gold/output.h",0xc5,"address");\n      }\n      if ((*(byte *)(lVar13 + 0x20) & 2) == 0) {\n                    \n        FUN_00352af0("../../gold/output.h",0xcf,"data_size");\n      }\n      uVar21 = (uint)*(ulong *)(lVar13 + 8);\n      if ((uVar21 < param_9) ||\n         (param_9 + param_10 < (*(ulong *)(lVar13 + 8) & 0xffffffff) + *(ulong *)(lVar13 + 0x10))) {\n                    \n        FUN_00352af0("../../gold/aarch64.cc",0x1fda,"relocate_section");\n      }\n      plVar23 = (long *)param_2[2];\n      param_8 = param_8 + (ulong)(uVar21 - param_9);\n      param_10 = *(ulong *)(lVar13 + 0x10);\n    }\n  }" (if "if") (parenthesized_expression "(param_7 != '\0')" (( "(") (binary_expression "param_7 != '\0'" (identifier "param_7") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    lVar13 = FUN_003cfdd0(param_6,plVar23,(int)param_2[6]);\n    if (lVar13 == 0) {\n      plVar23 = (long *)param_2[2];\n    }\n    else {\n      if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    \n        FUN_00352af0("../../gold/output.h",0xc5,"address");\n      }\n      if ((*(byte *)(lVar13 + 0x20) & 2) == 0) {\n                    \n        FUN_00352af0("../../gold/output.h",0xcf,"data_size");\n      }\n      uVar21 = (uint)*(ulong *)(lVar13 + 8);\n      if ((uVar21 < param_9) ||\n         (param_9 + param_10 < (*(ulong *)(lVar13 + 8) & 0xffffffff) + *(ulong *)(lVar13 + 0x10))) {\n                    \n        FUN_00352af0("../../gold/aarch64.cc",0x1fda,"relocate_section");\n      }\n      plVar23 = (long *)param_2[2];\n      param_8 = param_8 + (ulong)(uVar21 - param_9);\n      param_10 = *(ulong *)(lVar13 + 0x10);\n    }\n  }" ({ "{") (expression_statement "lVar13 = FUN_003cfdd0(param_6,plVar23,(int)param_2[6]);" (assignment_expression "lVar13 = FUN_003cfdd0(param_6,plVar23,(int)param_2[6])" (identifier "lVar13") (= "=") (call_expression "FUN_003cfdd0(param_6,plVar23,(int)param_2[6])" (identifier "FUN_003cfdd0") (argument_list "(param_6,plVar23,(int)param_2[6])" (( "(") (identifier "param_6") (, ",") (identifier "plVar23") (, ",") (cast_expression "(int)param_2[6]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "param_2[6]" (identifier "param_2") ([ "[") (number_literal "6") (] "]"))) () ")")))) (; ";")) (if_statement "if (lVar13 == 0) {\n      plVar23 = (long *)param_2[2];\n    }\n    else {\n      if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    \n        FUN_00352af0("../../gold/output.h",0xc5,"address");\n      }\n      if ((*(byte *)(lVar13 + 0x20) & 2) == 0) {\n                    \n        FUN_00352af0("../../gold/output.h",0xcf,"data_size");\n      }\n      uVar21 = (uint)*(ulong *)(lVar13 + 8);\n      if ((uVar21 < param_9) ||\n         (param_9 + param_10 < (*(ulong *)(lVar13 + 8) & 0xffffffff) + *(ulong *)(lVar13 + 0x10))) {\n                    \n        FUN_00352af0("../../gold/aarch64.cc",0x1fda,"relocate_section");\n      }\n      plVar23 = (long *)param_2[2];\n      param_8 = param_8 + (ulong)(uVar21 - param_9);\n      param_10 = *(ulong *)(lVar13 + 0x10);\n    }" (if "if") (parenthesized_expression "(lVar13 == 0)" (( "(") (binary_expression "lVar13 == 0" (identifier "lVar13") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      plVar23 = (long *)param_2[2];\n    }" ({ "{") (expression_statement "plVar23 = (long *)param_2[2];" (assignment_expression "plVar23 = (long *)param_2[2]" (identifier "plVar23") (= "=") (cast_expression "(long *)param_2[2]" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]")))) (; ";")) (} "}")) (else_clause "else {\n      if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    \n        FUN_00352af0("../../gold/output.h",0xc5,"address");\n      }\n      if ((*(byte *)(lVar13 + 0x20) & 2) == 0) {\n                    \n        FUN_00352af0("../../gold/output.h",0xcf,"data_size");\n      }\n      uVar21 = (uint)*(ulong *)(lVar13 + 8);\n      if ((uVar21 < param_9) ||\n         (param_9 + param_10 < (*(ulong *)(lVar13 + 8) & 0xffffffff) + *(ulong *)(lVar13 + 0x10))) {\n                    \n        FUN_00352af0("../../gold/aarch64.cc",0x1fda,"relocate_section");\n      }\n      plVar23 = (long *)param_2[2];\n      param_8 = param_8 + (ulong)(uVar21 - param_9);\n      param_10 = *(ulong *)(lVar13 + 0x10);\n    }" (else "else") (compound_statement "{\n      if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    \n        FUN_00352af0("../../gold/output.h",0xc5,"address");\n      }\n      if ((*(byte *)(lVar13 + 0x20) & 2) == 0) {\n                    \n        FUN_00352af0("../../gold/output.h",0xcf,"data_size");\n      }\n      uVar21 = (uint)*(ulong *)(lVar13 + 8);\n      if ((uVar21 < param_9) ||\n         (param_9 + param_10 < (*(ulong *)(lVar13 + 8) & 0xffffffff) + *(ulong *)(lVar13 + 0x10))) {\n                    \n        FUN_00352af0("../../gold/aarch64.cc",0x1fda,"relocate_section");\n      }\n      plVar23 = (long *)param_2[2];\n      param_8 = param_8 + (ulong)(uVar21 - param_9);\n      param_10 = *(ulong *)(lVar13 + 0x10);\n    }" ({ "{") (if_statement "if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    \n        FUN_00352af0("../../gold/output.h",0xc5,"address");\n      }" (if "if") (parenthesized_expression "((*(byte *)(lVar13 + 0x20) & 1) == 0)" (( "(") (binary_expression "(*(byte *)(lVar13 + 0x20) & 1) == 0" (parenthesized_expression "(*(byte *)(lVar13 + 0x20) & 1)" (( "(") (binary_expression "*(byte *)(lVar13 + 0x20) & 1" (pointer_expression "*(byte *)(lVar13 + 0x20)" (* "*") (cast_expression "(byte *)(lVar13 + 0x20)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar13 + 0x20)" (( "(") (binary_expression "lVar13 + 0x20" (identifier "lVar13") (+ "+") (number_literal "0x20")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n        FUN_00352af0("../../gold/output.h",0xc5,"address");\n      }" ({ "{") (expression_statement "FUN_00352af0("../../gold/output.h",0xc5,"address");" (call_expression "FUN_00352af0("../../gold/output.h",0xc5,"address")" (identifier "FUN_00352af0") (argument_list "("../../gold/output.h",0xc5,"address")" (( "(") (string_literal ""../../gold/output.h"" (" """) (string_content "../../gold/output.h") (" """)) (, ",") (number_literal "0xc5") (, ",") (string_literal ""address"" (" """) (string_content "address") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if ((*(byte *)(lVar13 + 0x20) & 2) == 0) {\n                    \n        FUN_00352af0("../../gold/output.h",0xcf,"data_size");\n      }" (if "if") (parenthesized_expression "((*(byte *)(lVar13 + 0x20) & 2) == 0)" (( "(") (binary_expression "(*(byte *)(lVar13 + 0x20) & 2) == 0" (parenthesized_expression "(*(byte *)(lVar13 + 0x20) & 2)" (( "(") (binary_expression "*(byte *)(lVar13 + 0x20) & 2" (pointer_expression "*(byte *)(lVar13 + 0x20)" (* "*") (cast_expression "(byte *)(lVar13 + 0x20)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar13 + 0x20)" (( "(") (binary_expression "lVar13 + 0x20" (identifier "lVar13") (+ "+") (number_literal "0x20")) () ")")))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n        FUN_00352af0("../../gold/output.h",0xcf,"data_size");\n      }" ({ "{") (expression_statement "FUN_00352af0("../../gold/output.h",0xcf,"data_size");" (call_expression "FUN_00352af0("../../gold/output.h",0xcf,"data_size")" (identifier "FUN_00352af0") (argument_list "("../../gold/output.h",0xcf,"data_size")" (( "(") (string_literal ""../../gold/output.h"" (" """) (string_content "../../gold/output.h") (" """)) (, ",") (number_literal "0xcf") (, ",") (string_literal ""data_size"" (" """) (string_content "data_size") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "uVar21 = (uint)*(ulong *)(lVar13 + 8);" (assignment_expression "uVar21 = (uint)*(ulong *)(lVar13 + 8)" (identifier "uVar21") (= "=") (binary_expression "(uint)*(ulong *)(lVar13 + 8)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(ulong *)(lVar13 + 8)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar13 + 8)" (( "(") (binary_expression "lVar13 + 8" (identifier "lVar13") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if ((uVar21 < param_9) ||\n         (param_9 + param_10 < (*(ulong *)(lVar13 + 8) & 0xffffffff) + *(ulong *)(lVar13 + 0x10))) {\n                    \n        FUN_00352af0("../../gold/aarch64.cc",0x1fda,"relocate_section");\n      }" (if "if") (parenthesized_expression "((uVar21 < param_9) ||\n         (param_9 + param_10 < (*(ulong *)(lVar13 + 8) & 0xffffffff) + *(ulong *)(lVar13 + 0x10)))" (( "(") (binary_expression "(uVar21 < param_9) ||\n         (param_9 + param_10 < (*(ulong *)(lVar13 + 8) & 0xffffffff) + *(ulong *)(lVar13 + 0x10))" (parenthesized_expression "(uVar21 < param_9)" (( "(") (binary_expression "uVar21 < param_9" (identifier "uVar21") (< "<") (identifier "param_9")) () ")")) (|| "||") (parenthesized_expression "(param_9 + param_10 < (*(ulong *)(lVar13 + 8) & 0xffffffff) + *(ulong *)(lVar13 + 0x10))" (( "(") (binary_expression "param_9 + param_10 < (*(ulong *)(lVar13 + 8) & 0xffffffff) + *(ulong *)(lVar13 + 0x10)" (binary_expression "param_9 + param_10" (identifier "param_9") (+ "+") (identifier "param_10")) (< "<") (binary_expression "(*(ulong *)(lVar13 + 8) & 0xffffffff) + *(ulong *)(lVar13 + 0x10)" (parenthesized_expression "(*(ulong *)(lVar13 + 8) & 0xffffffff)" (( "(") (binary_expression "*(ulong *)(lVar13 + 8) & 0xffffffff" (pointer_expression "*(ulong *)(lVar13 + 8)" (* "*") (cast_expression "(ulong *)(lVar13 + 8)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar13 + 8)" (( "(") (binary_expression "lVar13 + 8" (identifier "lVar13") (+ "+") (number_literal "8")) () ")")))) (& "&") (number_literal "0xffffffff")) () ")")) (+ "+") (pointer_expression "*(ulong *)(lVar13 + 0x10)" (* "*") (cast_expression "(ulong *)(lVar13 + 0x10)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar13 + 0x10)" (( "(") (binary_expression "lVar13 + 0x10" (identifier "lVar13") (+ "+") (number_literal "0x10")) () ")")))))) () ")"))) () ")")) (compound_statement "{\n                    \n        FUN_00352af0("../../gold/aarch64.cc",0x1fda,"relocate_section");\n      }" ({ "{") (expression_statement "FUN_00352af0("../../gold/aarch64.cc",0x1fda,"relocate_section");" (call_expression "FUN_00352af0("../../gold/aarch64.cc",0x1fda,"relocate_section")" (identifier "FUN_00352af0") (argument_list "("../../gold/aarch64.cc",0x1fda,"relocate_section")" (( "(") (string_literal ""../../gold/aarch64.cc"" (" """) (string_content "../../gold/aarch64.cc") (" """)) (, ",") (number_literal "0x1fda") (, ",") (string_literal ""relocate_section"" (" """) (string_content "relocate_section") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "plVar23 = (long *)param_2[2];" (assignment_expression "plVar23 = (long *)param_2[2]" (identifier "plVar23") (= "=") (cast_expression "(long *)param_2[2]" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]")))) (; ";")) (expression_statement "param_8 = param_8 + (ulong)(uVar21 - param_9);" (assignment_expression "param_8 = param_8 + (ulong)(uVar21 - param_9)" (identifier "param_8") (= "=") (binary_expression "param_8 + (ulong)(uVar21 - param_9)" (identifier "param_8") (+ "+") (call_expression "(ulong)(uVar21 - param_9)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar21 - param_9)" (( "(") (binary_expression "uVar21 - param_9" (identifier "uVar21") (- "-") (identifier "param_9")) () ")"))))) (; ";")) (expression_statement "param_10 = *(ulong *)(lVar13 + 0x10);" (assignment_expression "param_10 = *(ulong *)(lVar13 + 0x10)" (identifier "param_10") (= "=") (pointer_expression "*(ulong *)(lVar13 + 0x10)" (* "*") (cast_expression "(ulong *)(lVar13 + 0x10)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar13 + 0x10)" (( "(") (binary_expression "lVar13 + 0x10" (identifier "lVar13") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (} "}")))) (} "}"))) (expression_statement "pcVar2 = *(code **)(*plVar23 + 0x118);" (assignment_expression "pcVar2 = *(code **)(*plVar23 + 0x118)" (identifier "pcVar2") (= "=") (pointer_expression "*(code **)(*plVar23 + 0x118)" (* "*") (cast_expression "(code **)(*plVar23 + 0x118)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar23 + 0x118)" (( "(") (binary_expression "*plVar23 + 0x118" (pointer_expression "*plVar23" (* "*") (identifier "plVar23")) (+ "+") (number_literal "0x118")) () ")"))))) (; ";")) (if_statement "if (pcVar2 == FUN_001a4ab0) {\n    local_ec = (**(code **)(*plVar23 + 0x178))();\n  }\n  else {\n    local_ec = (*pcVar2)(plVar23);\n  }" (if "if") (parenthesized_expression "(pcVar2 == FUN_001a4ab0)" (( "(") (binary_expression "pcVar2 == FUN_001a4ab0" (identifier "pcVar2") (== "==") (identifier "FUN_001a4ab0")) () ")")) (compound_statement "{\n    local_ec = (**(code **)(*plVar23 + 0x178))();\n  }" ({ "{") (expression_statement "local_ec = (**(code **)(*plVar23 + 0x178))();" (assignment_expression "local_ec = (**(code **)(*plVar23 + 0x178))()" (identifier "local_ec") (= "=") (call_expression "(**(code **)(*plVar23 + 0x178))()" (parenthesized_expression "(**(code **)(*plVar23 + 0x178))" (( "(") (pointer_expression "**(code **)(*plVar23 + 0x178)" (* "*") (pointer_expression "*(code **)(*plVar23 + 0x178)" (* "*") (cast_expression "(code **)(*plVar23 + 0x178)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar23 + 0x178)" (( "(") (binary_expression "*plVar23 + 0x178" (pointer_expression "*plVar23" (* "*") (identifier "plVar23")) (+ "+") (number_literal "0x178")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (} "}")) (else_clause "else {\n    local_ec = (*pcVar2)(plVar23);\n  }" (else "else") (compound_statement "{\n    local_ec = (*pcVar2)(plVar23);\n  }" ({ "{") (expression_statement "local_ec = (*pcVar2)(plVar23);" (assignment_expression "local_ec = (*pcVar2)(plVar23)" (identifier "local_ec") (= "=") (call_expression "(*pcVar2)(plVar23)" (parenthesized_expression "(*pcVar2)" (( "(") (pointer_expression "*pcVar2" (* "*") (identifier "pcVar2")) () ")")) (argument_list "(plVar23)" (( "(") (identifier "plVar23") () ")")))) (; ";")) (} "}")))) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" (identifier "iVar8") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_148 = 0;" (assignment_expression "local_148 = 0" (identifier "local_148") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_120 = param_4;" (assignment_expression "local_120 = param_4" (identifier "local_120") (= "=") (identifier "param_4")) (; ";")) (if_statement "if (param_5 != 0) {\n    do {\n      uVar21 = *local_120;\n      local_140 = (ulong)(uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18);\n      if ((param_7 == '\0') ||\n         (local_140 = FUN_003cff80(param_6,param_2[2],(int)param_2[6],local_140),\n         local_140 != 0xffffffffffffffff)) {\n        local_d0 = 0x80000000;\n        local_c8 = 0;\n        uVar21 = local_120[1];\n        local_d8 = 0xffffffff00000000;\n        uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n        if (uVar21 < local_ec) {\n          if ((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))\n          {\nLAB_0030fa33:\n            iVar7 = *(int *)((long)puVar10 + 0x1c);\n            uVar17 = iVar7 - 1;\n            if (0xfffffffd < uVar17) goto LAB_0030fa42;\nLAB_0030fcf0:\n            if (uVar17 == 0xfffffffd) {\n                    \n              FUN_00352af0("../../gold/object.h",0x70d,"set_output_symtab_index");\n            }\n            local_d8 = CONCAT44(local_d8._4_4_,iVar7);\n            goto LAB_0030fa4a;\n          }\n          if ((ulong)((plVar23[0x2d] - plVar23[0x2c] >> 3) * -0x5555555555555555) <= (ulong)uVar21)\n          {\n                    \n            FUN_00352af0("../../gold/object.h",0x8c1,"local_symbol");\n          }\n          puVar22 = (undefined8 *)(plVar23[0x2c] + (ulong)uVar21 * 0x18);\n          uVar1 = *(uint *)(puVar22 + 1);\n          uVar6 = uVar1 & 0x7ffffff;\n          uVar17 = uVar1 & 0x7ffffff;\n          if (((*(byte *)((long)puVar22 + 0xb) & 8) == 0) || (uVar6 == 0)) {\nLAB_0030fbb3:\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }\n          if ((ulong)(plVar23[0xb] - plVar23[10] >> 3) <= (ulong)uVar6) {\n                    \n                    \n            FUN_00352af0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(long *)(plVar23[10] + (ulong)uVar6 * 8) != 0) goto LAB_0030fbb3;\n          cVar4 = FUN_00443530(*param_2,plVar23,uVar1 & 0x7ffffff);\n          puVar10 = (undefined8 *)0x0;\n          if (cVar4 != '\0') {\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }\nLAB_0030fd25:\n          local_b0 = 0x80000000;\n          local_b8 = 0xffffffff00000000;\n          local_a8 = 0;\n          if (*(code **)(*plVar23 + 0x80) == FUN_0022c990) {\n                    \n            FUN_0022c800(local_58,plVar23 + 0x1f);\n          }\n          else {\n                    \n            (**(code **)(*plVar23 + 0x80))(local_58,plVar23,(int)param_2[6]);\n          }\n          bVar24 = false;\n          bVar26 = iVar8 == 0;\n          if (bVar26) {\n            lVar13 = 6;\n            pbVar18 = local_58[0];\n            pbVar19 = &DAT_00533552;\n            do {\n              if (lVar13 == 0) break;\n              lVar13 = lVar13 + -1;\n              bVar24 = *pbVar18 < *pbVar19;\n              bVar26 = *pbVar18 == *pbVar19;\n              pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n              pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n            } while (bVar26);\n            bVar25 = false;\n            bVar24 = (!bVar24 && !bVar26) == bVar24;\n            if (!bVar24) {\n              lVar13 = 7;\n              pbVar18 = local_58[0];\n              pbVar19 = (byte *)".zdebug";\n              do {\n                if (lVar13 == 0) break;\n                lVar13 = lVar13 + -1;\n                bVar25 = *pbVar18 < *pbVar19;\n                bVar24 = *pbVar18 == *pbVar19;\n                pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar13 = 0x11;\n                pbVar18 = local_58[0];\n                pbVar19 = (byte *)".gnu.linkonce.wi.";\n                do {\n                  if (lVar13 == 0) break;\n                  lVar13 = lVar13 + -1;\n                  bVar26 = *pbVar18 < *pbVar19;\n                  bVar24 = *pbVar18 == *pbVar19;\n                  pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  lVar13 = 5;\n                  pbVar18 = local_58[0];\n                  pbVar19 = (byte *)".line";\n                  do {\n                    if (lVar13 == 0) break;\n                    lVar13 = lVar13 + -1;\n                    bVar25 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    lVar13 = 5;\n                    pbVar18 = local_58[0];\n                    pbVar19 = (byte *)".stab";\n                    do {\n                      if (lVar13 == 0) break;\n                      lVar13 = lVar13 + -1;\n                      bVar26 = *pbVar18 < *pbVar19;\n                      bVar24 = *pbVar18 == *pbVar19;\n                      pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                      pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      lVar13 = 4;\n                      pbVar18 = local_58[0];\n                      pbVar19 = &DAT_0053357f;\n                      do {\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0030fdc0:\n                    \n            iVar8 = FUN_00397c50(plVar23,uVar17,local_58,&local_78);\n            local_a8 = 0;\n            if (local_78 != '\0') {\n              local_a8 = iVar8 + *(int *)(puVar22 + 2);\n            }\n            iVar8 = 1;\n          }\n          else {\n            if (iVar8 == 1) goto LAB_0030fdc0;\n            if (iVar8 == 3) {\nLAB_0030ff50:\n              lVar13 = param_2[2];\n              if (puVar10 == (undefined8 *)0x0) {\n                    \n                uVar9 = FUN_0039dd50(lVar13,uVar21);\n                uVar11 = gettext(\n                                "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                );\n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9,uVar21);\n              }\n              else {\n                    \n                FUN_004443d0(&local_78,puVar10);\n                uVar9 = CONCAT71(uStack_77,local_78);\n                uVar11 = gettext(\n                                "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                );\n                    \n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9);\n                if ((undefined1 *)CONCAT71(uStack_77,local_78) != auStack_68) {\n                  FUN_0049e340();\n                }\n              }\n                    \n              iVar8 = FUN_0039d3c0(lVar13,uVar21,local_e0,&local_e1);\n              if (iVar8 != 0) {\n                    \n                lVar15 = FUN_00397ec0(lVar13,iVar8,&local_dc);\n                if (local_dc != 0) {\n                    \n                  uVar9 = FUN_0039dd50(lVar13);\n                  uVar11 = gettext("  section group signature: \"%s\"");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n                if (lVar15 != 0) {\n                  uVar9 = *(undefined8 *)(lVar15 + 8);\n                  uVar11 = gettext("  prevailing definition is from %s");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n              }\n              iVar8 = 3;\n            }\n            else {\nLAB_00310006:\n              iVar8 = 2;\n            }\n            local_a8 = 0;\n          }\n          if ((int)local_b8 != 0) {\n                    \n                    \n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\n          local_b8 = CONCAT44(local_b8._4_4_,0xffffffff);\n          if (local_58[0] != abStack_48) {\n            FUN_0049e340();\n          }\n          puVar22 = &local_b8;\n          if (-1 < (long)local_140) goto LAB_0030fae5;\nLAB_0030fe48:\n          uVar9 = gettext("reloc has bad offset %zu");\n                    \n          FUN_0034aed0(param_2,local_148,local_140,uVar9,local_140);\n        }\n        else {\n          if ((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))\n          goto LAB_0030fa33;\n          if (uVar21 < *(uint *)(plVar23 + 0x24)) {\nLAB_003107a0:\n                    \n                    \n            FUN_00352af0("../../gold/target-reloc.h",0x17f,"relocate_section");\n          }\n          uVar14 = (ulong)(uVar21 - *(uint *)(plVar23 + 0x24));\n          if ((ulong)(plVar23[0x27] - plVar23[0x26] >> 3) <= uVar14) {\n                    \n            FUN_00352af0("../../gold/object.h",0x8ad,"global_symbol");\n          }\n          puVar10 = *(undefined8 **)(plVar23[0x26] + uVar14 * 8);\n          if (puVar10 == (undefined8 *)0x0) goto LAB_003107a0;\n          if ((*(byte *)((long)puVar10 + 0x3a) & 0x10) == 0) goto LAB_0030fa33;\n                    \n          puVar10 = (undefined8 *)FUN_00443580(*param_2,puVar10);\n          iVar7 = *(int *)((long)puVar10 + 0x1c);\n          uVar17 = iVar7 - 1;\n          if (uVar17 < 0xfffffffe) {\n            if (((int)local_d8 != 0) && ((int)local_d8 != -2)) {\n                    \n                    \n              FUN_00352af0("../../gold/object.h",0x70c,"set_output_symtab_index");\n            }\n            goto LAB_0030fcf0;\n          }\n          if ((int)local_d8 != 0) {\n                    \n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\nLAB_0030fa42:\n          local_d8 = CONCAT44(local_d8._4_4_,0xffffffff);\nLAB_0030fa4a:\n          local_c8 = *(undefined4 *)(puVar10 + 8);\n          if ((*(byte *)(puVar10 + 7) & 0xf) == 6) {\n            local_d0 = local_d0 | 0x20000000;\n          }\n          else if ((*(byte *)(puVar10 + 7) & 0xf) == 10) {\n            local_d0 = local_d0 | 0x40000000;\n          }\n          if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') {\n            if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) {\nLAB_0030fd10:\n                puVar22 = &local_d8;\n                uVar17 = 0;\n                goto LAB_0030fd25;\n              }\n            }\n            else if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 4) goto LAB_0030fd10;\n          }\n          puVar22 = &local_d8;\nLAB_0030faa5:\n          local_b0 = 0x80000000;\n          local_b8 = 0xffffffff00000000;\n          local_a8 = 0;\n          if ((long)local_140 < 0) goto LAB_0030fe48;\nLAB_0030fae5:\n          if ((param_10 <= local_140) || (local_140 + param_8 == 0)) goto LAB_0030fe48;\n          uVar21 = local_120[1];\n          if (uVar21 >> 0x18 != 0) {\n            uVar9 = gettext("Invalid/unrecognized reloc reloc %d.");\n                    \n            FUN_0034a750(uVar9,uVar21 >> 0x18);\n                    \n            FUN_00352af0("../../gold/aarch64-reloc-property.h",0xeb,"code_to_array_index");\n          }\n          if (*DAT_0067dff8 == 0) {\n                    \n            FUN_0031d8d0(local_58,DAT_0067dff8,0);\n            pbVar18 = local_58[0];\n            uVar9 = gettext("cannot relocate %s in object file");\n            uVar21 = *local_120;\n                    \n            FUN_0034aed0(param_2,local_148,\n                         uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18,uVar9,pbVar18);\n            if (local_58[0] != abStack_48) {\n              FUN_0049e340();\n            }\n          }\n          else {\n            plVar3 = (long *)param_2[2];\n            local_90 = 0x80000000;\n            local_98 = 0xffffffff00000000;\n            local_88 = 0;\n            if (puVar10 == (undefined8 *)0x0) {\n              if ((*(byte *)((long)puVar22 + 0xb) & 0x40) != 0) {\n                uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n                    \n                cVar4 = FUN_00397bb0(plVar3,uVar21);\n                if (cVar4 != '\0') {\n                  lVar13 = *(long *)(param_1 + 0x28);\n                  if (lVar13 == 0) {\n                    \n                    FUN_002ed4a0();\n                    goto LAB_003108ca;\n                  }\n                  if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    \n                    \n                    FUN_00352af0("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar9 = *(undefined8 *)(lVar13 + 8);\n                  iVar7 = *(int *)(lVar13 + 0x68);\n                  local_88 = (**(code **)(*plVar3 + 0x150))(plVar3,uVar21);\n                  local_88 = (int)uVar9 + 0x20 + iVar7 * 0x10 + local_88;\n                }\n              }\n            }\n            else {\n                    \n              cVar4 = FUN_00228fa0(puVar10,*(undefined4 *)(*DAT_0067dff8 + 0x4c));\n              if (cVar4 != '\0') {\n                if (*(long *)(param_1 + 0x28) == 0) {\n                    \n                  FUN_002ed4a0();\n                  goto LAB_00310805;\n                }\n                local_88 = FUN_002f9c90(*(long *)(param_1 + 0x28),puVar10);\n              }\n            }\n            FUN_001a5bc0(&local_98);\n          }\n          if (puVar10 != (undefined8 *)0x0) {\n            bVar16 = *(byte *)((long)puVar10 + 0x3a);\n            bVar5 = bVar16 & 7;\n            if ((bVar16 & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) != 0) || ((*(byte *)((long)puVar10 + 0x3b) & 0x20) == 0)) {\n                if (*(code **)(*(long *)puVar10[2] + 0x28) != FUN_001a4aa0) {\n                  lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                  if (lVar13 != 0) {\n                    bVar16 = *(byte *)((long)puVar10 + 0x3a);\n                    bVar5 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar5 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)puVar10 + 0x3b)) goto LAB_00310305;\n                    bVar5 = *(byte *)((long)puVar10 + 0x39);\n                    if ((bVar5 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }\nLAB_0031015a:\n                bVar16 = bVar16 & 7;\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                if ((*(byte *)((long)puVar10 + 0x39) & 3) == 0) goto LAB_003101c0;\nLAB_00310166:\n                if (((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)\n                    ) && ((*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0)))) {\nLAB_00310293:\n                  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_003108ca:\n                    \n                    \n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') {\n                    if (bVar16 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)(puVar10[2] + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }\n                if (bVar5 == 2) {\n                  uVar9 = gettext("hidden");\n                }\n                else if (bVar5 < 3) {\n                  if (bVar5 != 1) {\n                    \n                    FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar9 = gettext("internal");\n                }\n                else {\n                  uVar9 = gettext("protected");\n                }\n                uVar11 = *puVar10;\n                uVar12 = gettext("%s symbol \'%s\' is not defined locally");\n                    \n                FUN_0034a750(uVar12,uVar9,uVar11);\n                goto LAB_003101c0;\n              }\nLAB_0031020c:\n              if ((*(byte *)(puVar10 + 7) >> 4 == 2) || ((*(byte *)((long)puVar10 + 0x3c) & 2) != 0)\n                 ) {\nLAB_00310438:\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_0031043f:\n                if (bVar5 == 0) goto LAB_003101c0;\n                bVar16 = *(byte *)((long)puVar10 + 0x3a) & 7;\n                if (bVar16 != 0) goto LAB_00310270;\n                goto LAB_00310166;\n              }\n              if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\n                    \n                    \n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') goto LAB_00310438;\n              if (*(char *)((long)puVar10 + 0x3b) < '\0') {\n                if (bVar5 != 0) goto LAB_00310260;\nLAB_003105b8:\n                if (*(code **)(*(long *)puVar10[2] + 0x28) == FUN_001a4aa0) goto LAB_0031015a;\n                    \n                lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                if (lVar13 == 0) goto LAB_00310438;\n              }\nLAB_00310305:\n              plVar3 = *(long **)(PTR_DAT_0067cb08 + 0x18);\n              if (plVar3 == (long *)0x0) {\nLAB_00310805:\n                    \n                    \n                FUN_00352af0("../../gold/parameters.h",0x69,"target");\n              }\n              if ((*(code **)(*plVar3 + 0x38) != FUN_001a49e0) &&\n                 (cVar4 = (**(code **)(*plVar3 + 0x38))(plVar3,puVar10), cVar4 != '\0'))\n              goto LAB_00310438;\n              lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar13 == 0) {\n                    \n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              pbVar18 = *(byte **)(lVar13 + 0x6c40);\n              bVar24 = false;\n              bVar26 = pbVar18 == (byte *)0x0;\n              if (bVar26) {\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_003103c9:\n                if ((bVar5 == 2) ||\n                   ((*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0'))))\n                goto LAB_003103e1;\n                goto LAB_0031043f;\n              }\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"ignore-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar24 = *pbVar19 < *pbVar20;\n                bVar26 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar26);\n              bVar25 = false;\n              bVar24 = (!bVar24 && !bVar26) == bVar24;\n              if (bVar24) goto LAB_00310438;\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"report-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar25 = *pbVar19 < *pbVar20;\n                bVar24 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar15 = 0x17;\n                pbVar19 = pbVar18;\n                pbVar20 = (byte *)"ignore-in-object-files";\n                do {\n                  if (lVar15 == 0) break;\n                  lVar15 = lVar15 + -1;\n                  bVar26 = *pbVar19 < *pbVar20;\n                  bVar24 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if ((!bVar24) || (bVar24 = (*(byte *)((long)puVar10 + 0x3b) & 1) == 0, !bVar24)) {\n                  bVar26 = false;\n                  lVar15 = 0x16;\n                  pbVar19 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    if (lVar15 == 0) break;\n                    lVar15 = lVar15 + -1;\n                    bVar26 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  if (((!bVar26 && !bVar24) != bVar26) || (*(char *)((long)puVar10 + 0x3a) < '\0'))\n                  goto LAB_003103c9;\n                }\n                goto LAB_0031043f;\n              }\nLAB_003103e1:\n              FUN_0034b9f0(puVar10,param_2,local_148,local_140);\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            else {\n              if (bVar5 == 4) goto LAB_0031020c;\nLAB_00310260:\n              bVar5 = *(byte *)((long)puVar10 + 0x39);\n              if ((bVar5 & 3) != 0) {\nLAB_0031026d:\n                bVar5 = bVar5 & 3;\n                bVar16 = bVar16 & 7;\nLAB_00310270:\n                if (((bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2)) &&\n                   (bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0)) goto LAB_00310293;\n              }\nLAB_003101c0:\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            if ((bVar16 & 4) != 0) {\n              FUN_00446c20(*param_2 + 0x1e0,puVar10,param_2,local_148,local_140);\n            }\n          }\n        }\n        local_138 = &local_d8;\n        FUN_001a5bc0(&local_b8);\n        FUN_001a5bc0(local_138);\n      }\n      local_148 = local_148 + 1;\n      local_120 = local_120 + 3;\n    } while (param_5 != local_148);\n  }" (if "if") (parenthesized_expression "(param_5 != 0)" (( "(") (binary_expression "param_5 != 0" (identifier "param_5") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    do {\n      uVar21 = *local_120;\n      local_140 = (ulong)(uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18);\n      if ((param_7 == '\0') ||\n         (local_140 = FUN_003cff80(param_6,param_2[2],(int)param_2[6],local_140),\n         local_140 != 0xffffffffffffffff)) {\n        local_d0 = 0x80000000;\n        local_c8 = 0;\n        uVar21 = local_120[1];\n        local_d8 = 0xffffffff00000000;\n        uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n        if (uVar21 < local_ec) {\n          if ((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))\n          {\nLAB_0030fa33:\n            iVar7 = *(int *)((long)puVar10 + 0x1c);\n            uVar17 = iVar7 - 1;\n            if (0xfffffffd < uVar17) goto LAB_0030fa42;\nLAB_0030fcf0:\n            if (uVar17 == 0xfffffffd) {\n                    \n              FUN_00352af0("../../gold/object.h",0x70d,"set_output_symtab_index");\n            }\n            local_d8 = CONCAT44(local_d8._4_4_,iVar7);\n            goto LAB_0030fa4a;\n          }\n          if ((ulong)((plVar23[0x2d] - plVar23[0x2c] >> 3) * -0x5555555555555555) <= (ulong)uVar21)\n          {\n                    \n            FUN_00352af0("../../gold/object.h",0x8c1,"local_symbol");\n          }\n          puVar22 = (undefined8 *)(plVar23[0x2c] + (ulong)uVar21 * 0x18);\n          uVar1 = *(uint *)(puVar22 + 1);\n          uVar6 = uVar1 & 0x7ffffff;\n          uVar17 = uVar1 & 0x7ffffff;\n          if (((*(byte *)((long)puVar22 + 0xb) & 8) == 0) || (uVar6 == 0)) {\nLAB_0030fbb3:\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }\n          if ((ulong)(plVar23[0xb] - plVar23[10] >> 3) <= (ulong)uVar6) {\n                    \n                    \n            FUN_00352af0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(long *)(plVar23[10] + (ulong)uVar6 * 8) != 0) goto LAB_0030fbb3;\n          cVar4 = FUN_00443530(*param_2,plVar23,uVar1 & 0x7ffffff);\n          puVar10 = (undefined8 *)0x0;\n          if (cVar4 != '\0') {\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }\nLAB_0030fd25:\n          local_b0 = 0x80000000;\n          local_b8 = 0xffffffff00000000;\n          local_a8 = 0;\n          if (*(code **)(*plVar23 + 0x80) == FUN_0022c990) {\n                    \n            FUN_0022c800(local_58,plVar23 + 0x1f);\n          }\n          else {\n                    \n            (**(code **)(*plVar23 + 0x80))(local_58,plVar23,(int)param_2[6]);\n          }\n          bVar24 = false;\n          bVar26 = iVar8 == 0;\n          if (bVar26) {\n            lVar13 = 6;\n            pbVar18 = local_58[0];\n            pbVar19 = &DAT_00533552;\n            do {\n              if (lVar13 == 0) break;\n              lVar13 = lVar13 + -1;\n              bVar24 = *pbVar18 < *pbVar19;\n              bVar26 = *pbVar18 == *pbVar19;\n              pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n              pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n            } while (bVar26);\n            bVar25 = false;\n            bVar24 = (!bVar24 && !bVar26) == bVar24;\n            if (!bVar24) {\n              lVar13 = 7;\n              pbVar18 = local_58[0];\n              pbVar19 = (byte *)".zdebug";\n              do {\n                if (lVar13 == 0) break;\n                lVar13 = lVar13 + -1;\n                bVar25 = *pbVar18 < *pbVar19;\n                bVar24 = *pbVar18 == *pbVar19;\n                pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar13 = 0x11;\n                pbVar18 = local_58[0];\n                pbVar19 = (byte *)".gnu.linkonce.wi.";\n                do {\n                  if (lVar13 == 0) break;\n                  lVar13 = lVar13 + -1;\n                  bVar26 = *pbVar18 < *pbVar19;\n                  bVar24 = *pbVar18 == *pbVar19;\n                  pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  lVar13 = 5;\n                  pbVar18 = local_58[0];\n                  pbVar19 = (byte *)".line";\n                  do {\n                    if (lVar13 == 0) break;\n                    lVar13 = lVar13 + -1;\n                    bVar25 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    lVar13 = 5;\n                    pbVar18 = local_58[0];\n                    pbVar19 = (byte *)".stab";\n                    do {\n                      if (lVar13 == 0) break;\n                      lVar13 = lVar13 + -1;\n                      bVar26 = *pbVar18 < *pbVar19;\n                      bVar24 = *pbVar18 == *pbVar19;\n                      pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                      pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      lVar13 = 4;\n                      pbVar18 = local_58[0];\n                      pbVar19 = &DAT_0053357f;\n                      do {\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0030fdc0:\n                    \n            iVar8 = FUN_00397c50(plVar23,uVar17,local_58,&local_78);\n            local_a8 = 0;\n            if (local_78 != '\0') {\n              local_a8 = iVar8 + *(int *)(puVar22 + 2);\n            }\n            iVar8 = 1;\n          }\n          else {\n            if (iVar8 == 1) goto LAB_0030fdc0;\n            if (iVar8 == 3) {\nLAB_0030ff50:\n              lVar13 = param_2[2];\n              if (puVar10 == (undefined8 *)0x0) {\n                    \n                uVar9 = FUN_0039dd50(lVar13,uVar21);\n                uVar11 = gettext(\n                                "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                );\n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9,uVar21);\n              }\n              else {\n                    \n                FUN_004443d0(&local_78,puVar10);\n                uVar9 = CONCAT71(uStack_77,local_78);\n                uVar11 = gettext(\n                                "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                );\n                    \n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9);\n                if ((undefined1 *)CONCAT71(uStack_77,local_78) != auStack_68) {\n                  FUN_0049e340();\n                }\n              }\n                    \n              iVar8 = FUN_0039d3c0(lVar13,uVar21,local_e0,&local_e1);\n              if (iVar8 != 0) {\n                    \n                lVar15 = FUN_00397ec0(lVar13,iVar8,&local_dc);\n                if (local_dc != 0) {\n                    \n                  uVar9 = FUN_0039dd50(lVar13);\n                  uVar11 = gettext("  section group signature: \"%s\"");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n                if (lVar15 != 0) {\n                  uVar9 = *(undefined8 *)(lVar15 + 8);\n                  uVar11 = gettext("  prevailing definition is from %s");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n              }\n              iVar8 = 3;\n            }\n            else {\nLAB_00310006:\n              iVar8 = 2;\n            }\n            local_a8 = 0;\n          }\n          if ((int)local_b8 != 0) {\n                    \n                    \n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\n          local_b8 = CONCAT44(local_b8._4_4_,0xffffffff);\n          if (local_58[0] != abStack_48) {\n            FUN_0049e340();\n          }\n          puVar22 = &local_b8;\n          if (-1 < (long)local_140) goto LAB_0030fae5;\nLAB_0030fe48:\n          uVar9 = gettext("reloc has bad offset %zu");\n                    \n          FUN_0034aed0(param_2,local_148,local_140,uVar9,local_140);\n        }\n        else {\n          if ((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))\n          goto LAB_0030fa33;\n          if (uVar21 < *(uint *)(plVar23 + 0x24)) {\nLAB_003107a0:\n                    \n                    \n            FUN_00352af0("../../gold/target-reloc.h",0x17f,"relocate_section");\n          }\n          uVar14 = (ulong)(uVar21 - *(uint *)(plVar23 + 0x24));\n          if ((ulong)(plVar23[0x27] - plVar23[0x26] >> 3) <= uVar14) {\n                    \n            FUN_00352af0("../../gold/object.h",0x8ad,"global_symbol");\n          }\n          puVar10 = *(undefined8 **)(plVar23[0x26] + uVar14 * 8);\n          if (puVar10 == (undefined8 *)0x0) goto LAB_003107a0;\n          if ((*(byte *)((long)puVar10 + 0x3a) & 0x10) == 0) goto LAB_0030fa33;\n                    \n          puVar10 = (undefined8 *)FUN_00443580(*param_2,puVar10);\n          iVar7 = *(int *)((long)puVar10 + 0x1c);\n          uVar17 = iVar7 - 1;\n          if (uVar17 < 0xfffffffe) {\n            if (((int)local_d8 != 0) && ((int)local_d8 != -2)) {\n                    \n                    \n              FUN_00352af0("../../gold/object.h",0x70c,"set_output_symtab_index");\n            }\n            goto LAB_0030fcf0;\n          }\n          if ((int)local_d8 != 0) {\n                    \n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\nLAB_0030fa42:\n          local_d8 = CONCAT44(local_d8._4_4_,0xffffffff);\nLAB_0030fa4a:\n          local_c8 = *(undefined4 *)(puVar10 + 8);\n          if ((*(byte *)(puVar10 + 7) & 0xf) == 6) {\n            local_d0 = local_d0 | 0x20000000;\n          }\n          else if ((*(byte *)(puVar10 + 7) & 0xf) == 10) {\n            local_d0 = local_d0 | 0x40000000;\n          }\n          if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') {\n            if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) {\nLAB_0030fd10:\n                puVar22 = &local_d8;\n                uVar17 = 0;\n                goto LAB_0030fd25;\n              }\n            }\n            else if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 4) goto LAB_0030fd10;\n          }\n          puVar22 = &local_d8;\nLAB_0030faa5:\n          local_b0 = 0x80000000;\n          local_b8 = 0xffffffff00000000;\n          local_a8 = 0;\n          if ((long)local_140 < 0) goto LAB_0030fe48;\nLAB_0030fae5:\n          if ((param_10 <= local_140) || (local_140 + param_8 == 0)) goto LAB_0030fe48;\n          uVar21 = local_120[1];\n          if (uVar21 >> 0x18 != 0) {\n            uVar9 = gettext("Invalid/unrecognized reloc reloc %d.");\n                    \n            FUN_0034a750(uVar9,uVar21 >> 0x18);\n                    \n            FUN_00352af0("../../gold/aarch64-reloc-property.h",0xeb,"code_to_array_index");\n          }\n          if (*DAT_0067dff8 == 0) {\n                    \n            FUN_0031d8d0(local_58,DAT_0067dff8,0);\n            pbVar18 = local_58[0];\n            uVar9 = gettext("cannot relocate %s in object file");\n            uVar21 = *local_120;\n                    \n            FUN_0034aed0(param_2,local_148,\n                         uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18,uVar9,pbVar18);\n            if (local_58[0] != abStack_48) {\n              FUN_0049e340();\n            }\n          }\n          else {\n            plVar3 = (long *)param_2[2];\n            local_90 = 0x80000000;\n            local_98 = 0xffffffff00000000;\n            local_88 = 0;\n            if (puVar10 == (undefined8 *)0x0) {\n              if ((*(byte *)((long)puVar22 + 0xb) & 0x40) != 0) {\n                uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n                    \n                cVar4 = FUN_00397bb0(plVar3,uVar21);\n                if (cVar4 != '\0') {\n                  lVar13 = *(long *)(param_1 + 0x28);\n                  if (lVar13 == 0) {\n                    \n                    FUN_002ed4a0();\n                    goto LAB_003108ca;\n                  }\n                  if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    \n                    \n                    FUN_00352af0("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar9 = *(undefined8 *)(lVar13 + 8);\n                  iVar7 = *(int *)(lVar13 + 0x68);\n                  local_88 = (**(code **)(*plVar3 + 0x150))(plVar3,uVar21);\n                  local_88 = (int)uVar9 + 0x20 + iVar7 * 0x10 + local_88;\n                }\n              }\n            }\n            else {\n                    \n              cVar4 = FUN_00228fa0(puVar10,*(undefined4 *)(*DAT_0067dff8 + 0x4c));\n              if (cVar4 != '\0') {\n                if (*(long *)(param_1 + 0x28) == 0) {\n                    \n                  FUN_002ed4a0();\n                  goto LAB_00310805;\n                }\n                local_88 = FUN_002f9c90(*(long *)(param_1 + 0x28),puVar10);\n              }\n            }\n            FUN_001a5bc0(&local_98);\n          }\n          if (puVar10 != (undefined8 *)0x0) {\n            bVar16 = *(byte *)((long)puVar10 + 0x3a);\n            bVar5 = bVar16 & 7;\n            if ((bVar16 & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) != 0) || ((*(byte *)((long)puVar10 + 0x3b) & 0x20) == 0)) {\n                if (*(code **)(*(long *)puVar10[2] + 0x28) != FUN_001a4aa0) {\n                  lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                  if (lVar13 != 0) {\n                    bVar16 = *(byte *)((long)puVar10 + 0x3a);\n                    bVar5 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar5 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)puVar10 + 0x3b)) goto LAB_00310305;\n                    bVar5 = *(byte *)((long)puVar10 + 0x39);\n                    if ((bVar5 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }\nLAB_0031015a:\n                bVar16 = bVar16 & 7;\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                if ((*(byte *)((long)puVar10 + 0x39) & 3) == 0) goto LAB_003101c0;\nLAB_00310166:\n                if (((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)\n                    ) && ((*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0)))) {\nLAB_00310293:\n                  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_003108ca:\n                    \n                    \n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') {\n                    if (bVar16 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)(puVar10[2] + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }\n                if (bVar5 == 2) {\n                  uVar9 = gettext("hidden");\n                }\n                else if (bVar5 < 3) {\n                  if (bVar5 != 1) {\n                    \n                    FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar9 = gettext("internal");\n                }\n                else {\n                  uVar9 = gettext("protected");\n                }\n                uVar11 = *puVar10;\n                uVar12 = gettext("%s symbol \'%s\' is not defined locally");\n                    \n                FUN_0034a750(uVar12,uVar9,uVar11);\n                goto LAB_003101c0;\n              }\nLAB_0031020c:\n              if ((*(byte *)(puVar10 + 7) >> 4 == 2) || ((*(byte *)((long)puVar10 + 0x3c) & 2) != 0)\n                 ) {\nLAB_00310438:\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_0031043f:\n                if (bVar5 == 0) goto LAB_003101c0;\n                bVar16 = *(byte *)((long)puVar10 + 0x3a) & 7;\n                if (bVar16 != 0) goto LAB_00310270;\n                goto LAB_00310166;\n              }\n              if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\n                    \n                    \n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') goto LAB_00310438;\n              if (*(char *)((long)puVar10 + 0x3b) < '\0') {\n                if (bVar5 != 0) goto LAB_00310260;\nLAB_003105b8:\n                if (*(code **)(*(long *)puVar10[2] + 0x28) == FUN_001a4aa0) goto LAB_0031015a;\n                    \n                lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                if (lVar13 == 0) goto LAB_00310438;\n              }\nLAB_00310305:\n              plVar3 = *(long **)(PTR_DAT_0067cb08 + 0x18);\n              if (plVar3 == (long *)0x0) {\nLAB_00310805:\n                    \n                    \n                FUN_00352af0("../../gold/parameters.h",0x69,"target");\n              }\n              if ((*(code **)(*plVar3 + 0x38) != FUN_001a49e0) &&\n                 (cVar4 = (**(code **)(*plVar3 + 0x38))(plVar3,puVar10), cVar4 != '\0'))\n              goto LAB_00310438;\n              lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar13 == 0) {\n                    \n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              pbVar18 = *(byte **)(lVar13 + 0x6c40);\n              bVar24 = false;\n              bVar26 = pbVar18 == (byte *)0x0;\n              if (bVar26) {\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_003103c9:\n                if ((bVar5 == 2) ||\n                   ((*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0'))))\n                goto LAB_003103e1;\n                goto LAB_0031043f;\n              }\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"ignore-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar24 = *pbVar19 < *pbVar20;\n                bVar26 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar26);\n              bVar25 = false;\n              bVar24 = (!bVar24 && !bVar26) == bVar24;\n              if (bVar24) goto LAB_00310438;\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"report-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar25 = *pbVar19 < *pbVar20;\n                bVar24 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar15 = 0x17;\n                pbVar19 = pbVar18;\n                pbVar20 = (byte *)"ignore-in-object-files";\n                do {\n                  if (lVar15 == 0) break;\n                  lVar15 = lVar15 + -1;\n                  bVar26 = *pbVar19 < *pbVar20;\n                  bVar24 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if ((!bVar24) || (bVar24 = (*(byte *)((long)puVar10 + 0x3b) & 1) == 0, !bVar24)) {\n                  bVar26 = false;\n                  lVar15 = 0x16;\n                  pbVar19 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    if (lVar15 == 0) break;\n                    lVar15 = lVar15 + -1;\n                    bVar26 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  if (((!bVar26 && !bVar24) != bVar26) || (*(char *)((long)puVar10 + 0x3a) < '\0'))\n                  goto LAB_003103c9;\n                }\n                goto LAB_0031043f;\n              }\nLAB_003103e1:\n              FUN_0034b9f0(puVar10,param_2,local_148,local_140);\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            else {\n              if (bVar5 == 4) goto LAB_0031020c;\nLAB_00310260:\n              bVar5 = *(byte *)((long)puVar10 + 0x39);\n              if ((bVar5 & 3) != 0) {\nLAB_0031026d:\n                bVar5 = bVar5 & 3;\n                bVar16 = bVar16 & 7;\nLAB_00310270:\n                if (((bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2)) &&\n                   (bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0)) goto LAB_00310293;\n              }\nLAB_003101c0:\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            if ((bVar16 & 4) != 0) {\n              FUN_00446c20(*param_2 + 0x1e0,puVar10,param_2,local_148,local_140);\n            }\n          }\n        }\n        local_138 = &local_d8;\n        FUN_001a5bc0(&local_b8);\n        FUN_001a5bc0(local_138);\n      }\n      local_148 = local_148 + 1;\n      local_120 = local_120 + 3;\n    } while (param_5 != local_148);\n  }" ({ "{") (do_statement "do {\n      uVar21 = *local_120;\n      local_140 = (ulong)(uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18);\n      if ((param_7 == '\0') ||\n         (local_140 = FUN_003cff80(param_6,param_2[2],(int)param_2[6],local_140),\n         local_140 != 0xffffffffffffffff)) {\n        local_d0 = 0x80000000;\n        local_c8 = 0;\n        uVar21 = local_120[1];\n        local_d8 = 0xffffffff00000000;\n        uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n        if (uVar21 < local_ec) {\n          if ((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))\n          {\nLAB_0030fa33:\n            iVar7 = *(int *)((long)puVar10 + 0x1c);\n            uVar17 = iVar7 - 1;\n            if (0xfffffffd < uVar17) goto LAB_0030fa42;\nLAB_0030fcf0:\n            if (uVar17 == 0xfffffffd) {\n                    \n              FUN_00352af0("../../gold/object.h",0x70d,"set_output_symtab_index");\n            }\n            local_d8 = CONCAT44(local_d8._4_4_,iVar7);\n            goto LAB_0030fa4a;\n          }\n          if ((ulong)((plVar23[0x2d] - plVar23[0x2c] >> 3) * -0x5555555555555555) <= (ulong)uVar21)\n          {\n                    \n            FUN_00352af0("../../gold/object.h",0x8c1,"local_symbol");\n          }\n          puVar22 = (undefined8 *)(plVar23[0x2c] + (ulong)uVar21 * 0x18);\n          uVar1 = *(uint *)(puVar22 + 1);\n          uVar6 = uVar1 & 0x7ffffff;\n          uVar17 = uVar1 & 0x7ffffff;\n          if (((*(byte *)((long)puVar22 + 0xb) & 8) == 0) || (uVar6 == 0)) {\nLAB_0030fbb3:\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }\n          if ((ulong)(plVar23[0xb] - plVar23[10] >> 3) <= (ulong)uVar6) {\n                    \n                    \n            FUN_00352af0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(long *)(plVar23[10] + (ulong)uVar6 * 8) != 0) goto LAB_0030fbb3;\n          cVar4 = FUN_00443530(*param_2,plVar23,uVar1 & 0x7ffffff);\n          puVar10 = (undefined8 *)0x0;\n          if (cVar4 != '\0') {\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }\nLAB_0030fd25:\n          local_b0 = 0x80000000;\n          local_b8 = 0xffffffff00000000;\n          local_a8 = 0;\n          if (*(code **)(*plVar23 + 0x80) == FUN_0022c990) {\n                    \n            FUN_0022c800(local_58,plVar23 + 0x1f);\n          }\n          else {\n                    \n            (**(code **)(*plVar23 + 0x80))(local_58,plVar23,(int)param_2[6]);\n          }\n          bVar24 = false;\n          bVar26 = iVar8 == 0;\n          if (bVar26) {\n            lVar13 = 6;\n            pbVar18 = local_58[0];\n            pbVar19 = &DAT_00533552;\n            do {\n              if (lVar13 == 0) break;\n              lVar13 = lVar13 + -1;\n              bVar24 = *pbVar18 < *pbVar19;\n              bVar26 = *pbVar18 == *pbVar19;\n              pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n              pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n            } while (bVar26);\n            bVar25 = false;\n            bVar24 = (!bVar24 && !bVar26) == bVar24;\n            if (!bVar24) {\n              lVar13 = 7;\n              pbVar18 = local_58[0];\n              pbVar19 = (byte *)".zdebug";\n              do {\n                if (lVar13 == 0) break;\n                lVar13 = lVar13 + -1;\n                bVar25 = *pbVar18 < *pbVar19;\n                bVar24 = *pbVar18 == *pbVar19;\n                pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar13 = 0x11;\n                pbVar18 = local_58[0];\n                pbVar19 = (byte *)".gnu.linkonce.wi.";\n                do {\n                  if (lVar13 == 0) break;\n                  lVar13 = lVar13 + -1;\n                  bVar26 = *pbVar18 < *pbVar19;\n                  bVar24 = *pbVar18 == *pbVar19;\n                  pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  lVar13 = 5;\n                  pbVar18 = local_58[0];\n                  pbVar19 = (byte *)".line";\n                  do {\n                    if (lVar13 == 0) break;\n                    lVar13 = lVar13 + -1;\n                    bVar25 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    lVar13 = 5;\n                    pbVar18 = local_58[0];\n                    pbVar19 = (byte *)".stab";\n                    do {\n                      if (lVar13 == 0) break;\n                      lVar13 = lVar13 + -1;\n                      bVar26 = *pbVar18 < *pbVar19;\n                      bVar24 = *pbVar18 == *pbVar19;\n                      pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                      pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      lVar13 = 4;\n                      pbVar18 = local_58[0];\n                      pbVar19 = &DAT_0053357f;\n                      do {\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0030fdc0:\n                    \n            iVar8 = FUN_00397c50(plVar23,uVar17,local_58,&local_78);\n            local_a8 = 0;\n            if (local_78 != '\0') {\n              local_a8 = iVar8 + *(int *)(puVar22 + 2);\n            }\n            iVar8 = 1;\n          }\n          else {\n            if (iVar8 == 1) goto LAB_0030fdc0;\n            if (iVar8 == 3) {\nLAB_0030ff50:\n              lVar13 = param_2[2];\n              if (puVar10 == (undefined8 *)0x0) {\n                    \n                uVar9 = FUN_0039dd50(lVar13,uVar21);\n                uVar11 = gettext(\n                                "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                );\n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9,uVar21);\n              }\n              else {\n                    \n                FUN_004443d0(&local_78,puVar10);\n                uVar9 = CONCAT71(uStack_77,local_78);\n                uVar11 = gettext(\n                                "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                );\n                    \n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9);\n                if ((undefined1 *)CONCAT71(uStack_77,local_78) != auStack_68) {\n                  FUN_0049e340();\n                }\n              }\n                    \n              iVar8 = FUN_0039d3c0(lVar13,uVar21,local_e0,&local_e1);\n              if (iVar8 != 0) {\n                    \n                lVar15 = FUN_00397ec0(lVar13,iVar8,&local_dc);\n                if (local_dc != 0) {\n                    \n                  uVar9 = FUN_0039dd50(lVar13);\n                  uVar11 = gettext("  section group signature: \"%s\"");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n                if (lVar15 != 0) {\n                  uVar9 = *(undefined8 *)(lVar15 + 8);\n                  uVar11 = gettext("  prevailing definition is from %s");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n              }\n              iVar8 = 3;\n            }\n            else {\nLAB_00310006:\n              iVar8 = 2;\n            }\n            local_a8 = 0;\n          }\n          if ((int)local_b8 != 0) {\n                    \n                    \n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\n          local_b8 = CONCAT44(local_b8._4_4_,0xffffffff);\n          if (local_58[0] != abStack_48) {\n            FUN_0049e340();\n          }\n          puVar22 = &local_b8;\n          if (-1 < (long)local_140) goto LAB_0030fae5;\nLAB_0030fe48:\n          uVar9 = gettext("reloc has bad offset %zu");\n                    \n          FUN_0034aed0(param_2,local_148,local_140,uVar9,local_140);\n        }\n        else {\n          if ((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))\n          goto LAB_0030fa33;\n          if (uVar21 < *(uint *)(plVar23 + 0x24)) {\nLAB_003107a0:\n                    \n                    \n            FUN_00352af0("../../gold/target-reloc.h",0x17f,"relocate_section");\n          }\n          uVar14 = (ulong)(uVar21 - *(uint *)(plVar23 + 0x24));\n          if ((ulong)(plVar23[0x27] - plVar23[0x26] >> 3) <= uVar14) {\n                    \n            FUN_00352af0("../../gold/object.h",0x8ad,"global_symbol");\n          }\n          puVar10 = *(undefined8 **)(plVar23[0x26] + uVar14 * 8);\n          if (puVar10 == (undefined8 *)0x0) goto LAB_003107a0;\n          if ((*(byte *)((long)puVar10 + 0x3a) & 0x10) == 0) goto LAB_0030fa33;\n                    \n          puVar10 = (undefined8 *)FUN_00443580(*param_2,puVar10);\n          iVar7 = *(int *)((long)puVar10 + 0x1c);\n          uVar17 = iVar7 - 1;\n          if (uVar17 < 0xfffffffe) {\n            if (((int)local_d8 != 0) && ((int)local_d8 != -2)) {\n                    \n                    \n              FUN_00352af0("../../gold/object.h",0x70c,"set_output_symtab_index");\n            }\n            goto LAB_0030fcf0;\n          }\n          if ((int)local_d8 != 0) {\n                    \n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\nLAB_0030fa42:\n          local_d8 = CONCAT44(local_d8._4_4_,0xffffffff);\nLAB_0030fa4a:\n          local_c8 = *(undefined4 *)(puVar10 + 8);\n          if ((*(byte *)(puVar10 + 7) & 0xf) == 6) {\n            local_d0 = local_d0 | 0x20000000;\n          }\n          else if ((*(byte *)(puVar10 + 7) & 0xf) == 10) {\n            local_d0 = local_d0 | 0x40000000;\n          }\n          if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') {\n            if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) {\nLAB_0030fd10:\n                puVar22 = &local_d8;\n                uVar17 = 0;\n                goto LAB_0030fd25;\n              }\n            }\n            else if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 4) goto LAB_0030fd10;\n          }\n          puVar22 = &local_d8;\nLAB_0030faa5:\n          local_b0 = 0x80000000;\n          local_b8 = 0xffffffff00000000;\n          local_a8 = 0;\n          if ((long)local_140 < 0) goto LAB_0030fe48;\nLAB_0030fae5:\n          if ((param_10 <= local_140) || (local_140 + param_8 == 0)) goto LAB_0030fe48;\n          uVar21 = local_120[1];\n          if (uVar21 >> 0x18 != 0) {\n            uVar9 = gettext("Invalid/unrecognized reloc reloc %d.");\n                    \n            FUN_0034a750(uVar9,uVar21 >> 0x18);\n                    \n            FUN_00352af0("../../gold/aarch64-reloc-property.h",0xeb,"code_to_array_index");\n          }\n          if (*DAT_0067dff8 == 0) {\n                    \n            FUN_0031d8d0(local_58,DAT_0067dff8,0);\n            pbVar18 = local_58[0];\n            uVar9 = gettext("cannot relocate %s in object file");\n            uVar21 = *local_120;\n                    \n            FUN_0034aed0(param_2,local_148,\n                         uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18,uVar9,pbVar18);\n            if (local_58[0] != abStack_48) {\n              FUN_0049e340();\n            }\n          }\n          else {\n            plVar3 = (long *)param_2[2];\n            local_90 = 0x80000000;\n            local_98 = 0xffffffff00000000;\n            local_88 = 0;\n            if (puVar10 == (undefined8 *)0x0) {\n              if ((*(byte *)((long)puVar22 + 0xb) & 0x40) != 0) {\n                uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n                    \n                cVar4 = FUN_00397bb0(plVar3,uVar21);\n                if (cVar4 != '\0') {\n                  lVar13 = *(long *)(param_1 + 0x28);\n                  if (lVar13 == 0) {\n                    \n                    FUN_002ed4a0();\n                    goto LAB_003108ca;\n                  }\n                  if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    \n                    \n                    FUN_00352af0("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar9 = *(undefined8 *)(lVar13 + 8);\n                  iVar7 = *(int *)(lVar13 + 0x68);\n                  local_88 = (**(code **)(*plVar3 + 0x150))(plVar3,uVar21);\n                  local_88 = (int)uVar9 + 0x20 + iVar7 * 0x10 + local_88;\n                }\n              }\n            }\n            else {\n                    \n              cVar4 = FUN_00228fa0(puVar10,*(undefined4 *)(*DAT_0067dff8 + 0x4c));\n              if (cVar4 != '\0') {\n                if (*(long *)(param_1 + 0x28) == 0) {\n                    \n                  FUN_002ed4a0();\n                  goto LAB_00310805;\n                }\n                local_88 = FUN_002f9c90(*(long *)(param_1 + 0x28),puVar10);\n              }\n            }\n            FUN_001a5bc0(&local_98);\n          }\n          if (puVar10 != (undefined8 *)0x0) {\n            bVar16 = *(byte *)((long)puVar10 + 0x3a);\n            bVar5 = bVar16 & 7;\n            if ((bVar16 & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) != 0) || ((*(byte *)((long)puVar10 + 0x3b) & 0x20) == 0)) {\n                if (*(code **)(*(long *)puVar10[2] + 0x28) != FUN_001a4aa0) {\n                  lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                  if (lVar13 != 0) {\n                    bVar16 = *(byte *)((long)puVar10 + 0x3a);\n                    bVar5 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar5 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)puVar10 + 0x3b)) goto LAB_00310305;\n                    bVar5 = *(byte *)((long)puVar10 + 0x39);\n                    if ((bVar5 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }\nLAB_0031015a:\n                bVar16 = bVar16 & 7;\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                if ((*(byte *)((long)puVar10 + 0x39) & 3) == 0) goto LAB_003101c0;\nLAB_00310166:\n                if (((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)\n                    ) && ((*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0)))) {\nLAB_00310293:\n                  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_003108ca:\n                    \n                    \n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') {\n                    if (bVar16 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)(puVar10[2] + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }\n                if (bVar5 == 2) {\n                  uVar9 = gettext("hidden");\n                }\n                else if (bVar5 < 3) {\n                  if (bVar5 != 1) {\n                    \n                    FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar9 = gettext("internal");\n                }\n                else {\n                  uVar9 = gettext("protected");\n                }\n                uVar11 = *puVar10;\n                uVar12 = gettext("%s symbol \'%s\' is not defined locally");\n                    \n                FUN_0034a750(uVar12,uVar9,uVar11);\n                goto LAB_003101c0;\n              }\nLAB_0031020c:\n              if ((*(byte *)(puVar10 + 7) >> 4 == 2) || ((*(byte *)((long)puVar10 + 0x3c) & 2) != 0)\n                 ) {\nLAB_00310438:\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_0031043f:\n                if (bVar5 == 0) goto LAB_003101c0;\n                bVar16 = *(byte *)((long)puVar10 + 0x3a) & 7;\n                if (bVar16 != 0) goto LAB_00310270;\n                goto LAB_00310166;\n              }\n              if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\n                    \n                    \n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') goto LAB_00310438;\n              if (*(char *)((long)puVar10 + 0x3b) < '\0') {\n                if (bVar5 != 0) goto LAB_00310260;\nLAB_003105b8:\n                if (*(code **)(*(long *)puVar10[2] + 0x28) == FUN_001a4aa0) goto LAB_0031015a;\n                    \n                lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                if (lVar13 == 0) goto LAB_00310438;\n              }\nLAB_00310305:\n              plVar3 = *(long **)(PTR_DAT_0067cb08 + 0x18);\n              if (plVar3 == (long *)0x0) {\nLAB_00310805:\n                    \n                    \n                FUN_00352af0("../../gold/parameters.h",0x69,"target");\n              }\n              if ((*(code **)(*plVar3 + 0x38) != FUN_001a49e0) &&\n                 (cVar4 = (**(code **)(*plVar3 + 0x38))(plVar3,puVar10), cVar4 != '\0'))\n              goto LAB_00310438;\n              lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar13 == 0) {\n                    \n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              pbVar18 = *(byte **)(lVar13 + 0x6c40);\n              bVar24 = false;\n              bVar26 = pbVar18 == (byte *)0x0;\n              if (bVar26) {\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_003103c9:\n                if ((bVar5 == 2) ||\n                   ((*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0'))))\n                goto LAB_003103e1;\n                goto LAB_0031043f;\n              }\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"ignore-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar24 = *pbVar19 < *pbVar20;\n                bVar26 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar26);\n              bVar25 = false;\n              bVar24 = (!bVar24 && !bVar26) == bVar24;\n              if (bVar24) goto LAB_00310438;\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"report-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar25 = *pbVar19 < *pbVar20;\n                bVar24 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar15 = 0x17;\n                pbVar19 = pbVar18;\n                pbVar20 = (byte *)"ignore-in-object-files";\n                do {\n                  if (lVar15 == 0) break;\n                  lVar15 = lVar15 + -1;\n                  bVar26 = *pbVar19 < *pbVar20;\n                  bVar24 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if ((!bVar24) || (bVar24 = (*(byte *)((long)puVar10 + 0x3b) & 1) == 0, !bVar24)) {\n                  bVar26 = false;\n                  lVar15 = 0x16;\n                  pbVar19 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    if (lVar15 == 0) break;\n                    lVar15 = lVar15 + -1;\n                    bVar26 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  if (((!bVar26 && !bVar24) != bVar26) || (*(char *)((long)puVar10 + 0x3a) < '\0'))\n                  goto LAB_003103c9;\n                }\n                goto LAB_0031043f;\n              }\nLAB_003103e1:\n              FUN_0034b9f0(puVar10,param_2,local_148,local_140);\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            else {\n              if (bVar5 == 4) goto LAB_0031020c;\nLAB_00310260:\n              bVar5 = *(byte *)((long)puVar10 + 0x39);\n              if ((bVar5 & 3) != 0) {\nLAB_0031026d:\n                bVar5 = bVar5 & 3;\n                bVar16 = bVar16 & 7;\nLAB_00310270:\n                if (((bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2)) &&\n                   (bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0)) goto LAB_00310293;\n              }\nLAB_003101c0:\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            if ((bVar16 & 4) != 0) {\n              FUN_00446c20(*param_2 + 0x1e0,puVar10,param_2,local_148,local_140);\n            }\n          }\n        }\n        local_138 = &local_d8;\n        FUN_001a5bc0(&local_b8);\n        FUN_001a5bc0(local_138);\n      }\n      local_148 = local_148 + 1;\n      local_120 = local_120 + 3;\n    } while (param_5 != local_148);" (do "do") (compound_statement "{\n      uVar21 = *local_120;\n      local_140 = (ulong)(uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18);\n      if ((param_7 == '\0') ||\n         (local_140 = FUN_003cff80(param_6,param_2[2],(int)param_2[6],local_140),\n         local_140 != 0xffffffffffffffff)) {\n        local_d0 = 0x80000000;\n        local_c8 = 0;\n        uVar21 = local_120[1];\n        local_d8 = 0xffffffff00000000;\n        uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n        if (uVar21 < local_ec) {\n          if ((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))\n          {\nLAB_0030fa33:\n            iVar7 = *(int *)((long)puVar10 + 0x1c);\n            uVar17 = iVar7 - 1;\n            if (0xfffffffd < uVar17) goto LAB_0030fa42;\nLAB_0030fcf0:\n            if (uVar17 == 0xfffffffd) {\n                    \n              FUN_00352af0("../../gold/object.h",0x70d,"set_output_symtab_index");\n            }\n            local_d8 = CONCAT44(local_d8._4_4_,iVar7);\n            goto LAB_0030fa4a;\n          }\n          if ((ulong)((plVar23[0x2d] - plVar23[0x2c] >> 3) * -0x5555555555555555) <= (ulong)uVar21)\n          {\n                    \n            FUN_00352af0("../../gold/object.h",0x8c1,"local_symbol");\n          }\n          puVar22 = (undefined8 *)(plVar23[0x2c] + (ulong)uVar21 * 0x18);\n          uVar1 = *(uint *)(puVar22 + 1);\n          uVar6 = uVar1 & 0x7ffffff;\n          uVar17 = uVar1 & 0x7ffffff;\n          if (((*(byte *)((long)puVar22 + 0xb) & 8) == 0) || (uVar6 == 0)) {\nLAB_0030fbb3:\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }\n          if ((ulong)(plVar23[0xb] - plVar23[10] >> 3) <= (ulong)uVar6) {\n                    \n                    \n            FUN_00352af0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(long *)(plVar23[10] + (ulong)uVar6 * 8) != 0) goto LAB_0030fbb3;\n          cVar4 = FUN_00443530(*param_2,plVar23,uVar1 & 0x7ffffff);\n          puVar10 = (undefined8 *)0x0;\n          if (cVar4 != '\0') {\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }\nLAB_0030fd25:\n          local_b0 = 0x80000000;\n          local_b8 = 0xffffffff00000000;\n          local_a8 = 0;\n          if (*(code **)(*plVar23 + 0x80) == FUN_0022c990) {\n                    \n            FUN_0022c800(local_58,plVar23 + 0x1f);\n          }\n          else {\n                    \n            (**(code **)(*plVar23 + 0x80))(local_58,plVar23,(int)param_2[6]);\n          }\n          bVar24 = false;\n          bVar26 = iVar8 == 0;\n          if (bVar26) {\n            lVar13 = 6;\n            pbVar18 = local_58[0];\n            pbVar19 = &DAT_00533552;\n            do {\n              if (lVar13 == 0) break;\n              lVar13 = lVar13 + -1;\n              bVar24 = *pbVar18 < *pbVar19;\n              bVar26 = *pbVar18 == *pbVar19;\n              pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n              pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n            } while (bVar26);\n            bVar25 = false;\n            bVar24 = (!bVar24 && !bVar26) == bVar24;\n            if (!bVar24) {\n              lVar13 = 7;\n              pbVar18 = local_58[0];\n              pbVar19 = (byte *)".zdebug";\n              do {\n                if (lVar13 == 0) break;\n                lVar13 = lVar13 + -1;\n                bVar25 = *pbVar18 < *pbVar19;\n                bVar24 = *pbVar18 == *pbVar19;\n                pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar13 = 0x11;\n                pbVar18 = local_58[0];\n                pbVar19 = (byte *)".gnu.linkonce.wi.";\n                do {\n                  if (lVar13 == 0) break;\n                  lVar13 = lVar13 + -1;\n                  bVar26 = *pbVar18 < *pbVar19;\n                  bVar24 = *pbVar18 == *pbVar19;\n                  pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  lVar13 = 5;\n                  pbVar18 = local_58[0];\n                  pbVar19 = (byte *)".line";\n                  do {\n                    if (lVar13 == 0) break;\n                    lVar13 = lVar13 + -1;\n                    bVar25 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    lVar13 = 5;\n                    pbVar18 = local_58[0];\n                    pbVar19 = (byte *)".stab";\n                    do {\n                      if (lVar13 == 0) break;\n                      lVar13 = lVar13 + -1;\n                      bVar26 = *pbVar18 < *pbVar19;\n                      bVar24 = *pbVar18 == *pbVar19;\n                      pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                      pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      lVar13 = 4;\n                      pbVar18 = local_58[0];\n                      pbVar19 = &DAT_0053357f;\n                      do {\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0030fdc0:\n                    \n            iVar8 = FUN_00397c50(plVar23,uVar17,local_58,&local_78);\n            local_a8 = 0;\n            if (local_78 != '\0') {\n              local_a8 = iVar8 + *(int *)(puVar22 + 2);\n            }\n            iVar8 = 1;\n          }\n          else {\n            if (iVar8 == 1) goto LAB_0030fdc0;\n            if (iVar8 == 3) {\nLAB_0030ff50:\n              lVar13 = param_2[2];\n              if (puVar10 == (undefined8 *)0x0) {\n                    \n                uVar9 = FUN_0039dd50(lVar13,uVar21);\n                uVar11 = gettext(\n                                "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                );\n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9,uVar21);\n              }\n              else {\n                    \n                FUN_004443d0(&local_78,puVar10);\n                uVar9 = CONCAT71(uStack_77,local_78);\n                uVar11 = gettext(\n                                "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                );\n                    \n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9);\n                if ((undefined1 *)CONCAT71(uStack_77,local_78) != auStack_68) {\n                  FUN_0049e340();\n                }\n              }\n                    \n              iVar8 = FUN_0039d3c0(lVar13,uVar21,local_e0,&local_e1);\n              if (iVar8 != 0) {\n                    \n                lVar15 = FUN_00397ec0(lVar13,iVar8,&local_dc);\n                if (local_dc != 0) {\n                    \n                  uVar9 = FUN_0039dd50(lVar13);\n                  uVar11 = gettext("  section group signature: \"%s\"");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n                if (lVar15 != 0) {\n                  uVar9 = *(undefined8 *)(lVar15 + 8);\n                  uVar11 = gettext("  prevailing definition is from %s");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n              }\n              iVar8 = 3;\n            }\n            else {\nLAB_00310006:\n              iVar8 = 2;\n            }\n            local_a8 = 0;\n          }\n          if ((int)local_b8 != 0) {\n                    \n                    \n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\n          local_b8 = CONCAT44(local_b8._4_4_,0xffffffff);\n          if (local_58[0] != abStack_48) {\n            FUN_0049e340();\n          }\n          puVar22 = &local_b8;\n          if (-1 < (long)local_140) goto LAB_0030fae5;\nLAB_0030fe48:\n          uVar9 = gettext("reloc has bad offset %zu");\n                    \n          FUN_0034aed0(param_2,local_148,local_140,uVar9,local_140);\n        }\n        else {\n          if ((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))\n          goto LAB_0030fa33;\n          if (uVar21 < *(uint *)(plVar23 + 0x24)) {\nLAB_003107a0:\n                    \n                    \n            FUN_00352af0("../../gold/target-reloc.h",0x17f,"relocate_section");\n          }\n          uVar14 = (ulong)(uVar21 - *(uint *)(plVar23 + 0x24));\n          if ((ulong)(plVar23[0x27] - plVar23[0x26] >> 3) <= uVar14) {\n                    \n            FUN_00352af0("../../gold/object.h",0x8ad,"global_symbol");\n          }\n          puVar10 = *(undefined8 **)(plVar23[0x26] + uVar14 * 8);\n          if (puVar10 == (undefined8 *)0x0) goto LAB_003107a0;\n          if ((*(byte *)((long)puVar10 + 0x3a) & 0x10) == 0) goto LAB_0030fa33;\n                    \n          puVar10 = (undefined8 *)FUN_00443580(*param_2,puVar10);\n          iVar7 = *(int *)((long)puVar10 + 0x1c);\n          uVar17 = iVar7 - 1;\n          if (uVar17 < 0xfffffffe) {\n            if (((int)local_d8 != 0) && ((int)local_d8 != -2)) {\n                    \n                    \n              FUN_00352af0("../../gold/object.h",0x70c,"set_output_symtab_index");\n            }\n            goto LAB_0030fcf0;\n          }\n          if ((int)local_d8 != 0) {\n                    \n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\nLAB_0030fa42:\n          local_d8 = CONCAT44(local_d8._4_4_,0xffffffff);\nLAB_0030fa4a:\n          local_c8 = *(undefined4 *)(puVar10 + 8);\n          if ((*(byte *)(puVar10 + 7) & 0xf) == 6) {\n            local_d0 = local_d0 | 0x20000000;\n          }\n          else if ((*(byte *)(puVar10 + 7) & 0xf) == 10) {\n            local_d0 = local_d0 | 0x40000000;\n          }\n          if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') {\n            if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) {\nLAB_0030fd10:\n                puVar22 = &local_d8;\n                uVar17 = 0;\n                goto LAB_0030fd25;\n              }\n            }\n            else if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 4) goto LAB_0030fd10;\n          }\n          puVar22 = &local_d8;\nLAB_0030faa5:\n          local_b0 = 0x80000000;\n          local_b8 = 0xffffffff00000000;\n          local_a8 = 0;\n          if ((long)local_140 < 0) goto LAB_0030fe48;\nLAB_0030fae5:\n          if ((param_10 <= local_140) || (local_140 + param_8 == 0)) goto LAB_0030fe48;\n          uVar21 = local_120[1];\n          if (uVar21 >> 0x18 != 0) {\n            uVar9 = gettext("Invalid/unrecognized reloc reloc %d.");\n                    \n            FUN_0034a750(uVar9,uVar21 >> 0x18);\n                    \n            FUN_00352af0("../../gold/aarch64-reloc-property.h",0xeb,"code_to_array_index");\n          }\n          if (*DAT_0067dff8 == 0) {\n                    \n            FUN_0031d8d0(local_58,DAT_0067dff8,0);\n            pbVar18 = local_58[0];\n            uVar9 = gettext("cannot relocate %s in object file");\n            uVar21 = *local_120;\n                    \n            FUN_0034aed0(param_2,local_148,\n                         uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18,uVar9,pbVar18);\n            if (local_58[0] != abStack_48) {\n              FUN_0049e340();\n            }\n          }\n          else {\n            plVar3 = (long *)param_2[2];\n            local_90 = 0x80000000;\n            local_98 = 0xffffffff00000000;\n            local_88 = 0;\n            if (puVar10 == (undefined8 *)0x0) {\n              if ((*(byte *)((long)puVar22 + 0xb) & 0x40) != 0) {\n                uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n                    \n                cVar4 = FUN_00397bb0(plVar3,uVar21);\n                if (cVar4 != '\0') {\n                  lVar13 = *(long *)(param_1 + 0x28);\n                  if (lVar13 == 0) {\n                    \n                    FUN_002ed4a0();\n                    goto LAB_003108ca;\n                  }\n                  if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    \n                    \n                    FUN_00352af0("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar9 = *(undefined8 *)(lVar13 + 8);\n                  iVar7 = *(int *)(lVar13 + 0x68);\n                  local_88 = (**(code **)(*plVar3 + 0x150))(plVar3,uVar21);\n                  local_88 = (int)uVar9 + 0x20 + iVar7 * 0x10 + local_88;\n                }\n              }\n            }\n            else {\n                    \n              cVar4 = FUN_00228fa0(puVar10,*(undefined4 *)(*DAT_0067dff8 + 0x4c));\n              if (cVar4 != '\0') {\n                if (*(long *)(param_1 + 0x28) == 0) {\n                    \n                  FUN_002ed4a0();\n                  goto LAB_00310805;\n                }\n                local_88 = FUN_002f9c90(*(long *)(param_1 + 0x28),puVar10);\n              }\n            }\n            FUN_001a5bc0(&local_98);\n          }\n          if (puVar10 != (undefined8 *)0x0) {\n            bVar16 = *(byte *)((long)puVar10 + 0x3a);\n            bVar5 = bVar16 & 7;\n            if ((bVar16 & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) != 0) || ((*(byte *)((long)puVar10 + 0x3b) & 0x20) == 0)) {\n                if (*(code **)(*(long *)puVar10[2] + 0x28) != FUN_001a4aa0) {\n                  lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                  if (lVar13 != 0) {\n                    bVar16 = *(byte *)((long)puVar10 + 0x3a);\n                    bVar5 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar5 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)puVar10 + 0x3b)) goto LAB_00310305;\n                    bVar5 = *(byte *)((long)puVar10 + 0x39);\n                    if ((bVar5 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }\nLAB_0031015a:\n                bVar16 = bVar16 & 7;\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                if ((*(byte *)((long)puVar10 + 0x39) & 3) == 0) goto LAB_003101c0;\nLAB_00310166:\n                if (((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)\n                    ) && ((*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0)))) {\nLAB_00310293:\n                  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_003108ca:\n                    \n                    \n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') {\n                    if (bVar16 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)(puVar10[2] + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }\n                if (bVar5 == 2) {\n                  uVar9 = gettext("hidden");\n                }\n                else if (bVar5 < 3) {\n                  if (bVar5 != 1) {\n                    \n                    FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar9 = gettext("internal");\n                }\n                else {\n                  uVar9 = gettext("protected");\n                }\n                uVar11 = *puVar10;\n                uVar12 = gettext("%s symbol \'%s\' is not defined locally");\n                    \n                FUN_0034a750(uVar12,uVar9,uVar11);\n                goto LAB_003101c0;\n              }\nLAB_0031020c:\n              if ((*(byte *)(puVar10 + 7) >> 4 == 2) || ((*(byte *)((long)puVar10 + 0x3c) & 2) != 0)\n                 ) {\nLAB_00310438:\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_0031043f:\n                if (bVar5 == 0) goto LAB_003101c0;\n                bVar16 = *(byte *)((long)puVar10 + 0x3a) & 7;\n                if (bVar16 != 0) goto LAB_00310270;\n                goto LAB_00310166;\n              }\n              if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\n                    \n                    \n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') goto LAB_00310438;\n              if (*(char *)((long)puVar10 + 0x3b) < '\0') {\n                if (bVar5 != 0) goto LAB_00310260;\nLAB_003105b8:\n                if (*(code **)(*(long *)puVar10[2] + 0x28) == FUN_001a4aa0) goto LAB_0031015a;\n                    \n                lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                if (lVar13 == 0) goto LAB_00310438;\n              }\nLAB_00310305:\n              plVar3 = *(long **)(PTR_DAT_0067cb08 + 0x18);\n              if (plVar3 == (long *)0x0) {\nLAB_00310805:\n                    \n                    \n                FUN_00352af0("../../gold/parameters.h",0x69,"target");\n              }\n              if ((*(code **)(*plVar3 + 0x38) != FUN_001a49e0) &&\n                 (cVar4 = (**(code **)(*plVar3 + 0x38))(plVar3,puVar10), cVar4 != '\0'))\n              goto LAB_00310438;\n              lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar13 == 0) {\n                    \n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              pbVar18 = *(byte **)(lVar13 + 0x6c40);\n              bVar24 = false;\n              bVar26 = pbVar18 == (byte *)0x0;\n              if (bVar26) {\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_003103c9:\n                if ((bVar5 == 2) ||\n                   ((*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0'))))\n                goto LAB_003103e1;\n                goto LAB_0031043f;\n              }\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"ignore-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar24 = *pbVar19 < *pbVar20;\n                bVar26 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar26);\n              bVar25 = false;\n              bVar24 = (!bVar24 && !bVar26) == bVar24;\n              if (bVar24) goto LAB_00310438;\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"report-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar25 = *pbVar19 < *pbVar20;\n                bVar24 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar15 = 0x17;\n                pbVar19 = pbVar18;\n                pbVar20 = (byte *)"ignore-in-object-files";\n                do {\n                  if (lVar15 == 0) break;\n                  lVar15 = lVar15 + -1;\n                  bVar26 = *pbVar19 < *pbVar20;\n                  bVar24 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if ((!bVar24) || (bVar24 = (*(byte *)((long)puVar10 + 0x3b) & 1) == 0, !bVar24)) {\n                  bVar26 = false;\n                  lVar15 = 0x16;\n                  pbVar19 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    if (lVar15 == 0) break;\n                    lVar15 = lVar15 + -1;\n                    bVar26 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  if (((!bVar26 && !bVar24) != bVar26) || (*(char *)((long)puVar10 + 0x3a) < '\0'))\n                  goto LAB_003103c9;\n                }\n                goto LAB_0031043f;\n              }\nLAB_003103e1:\n              FUN_0034b9f0(puVar10,param_2,local_148,local_140);\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            else {\n              if (bVar5 == 4) goto LAB_0031020c;\nLAB_00310260:\n              bVar5 = *(byte *)((long)puVar10 + 0x39);\n              if ((bVar5 & 3) != 0) {\nLAB_0031026d:\n                bVar5 = bVar5 & 3;\n                bVar16 = bVar16 & 7;\nLAB_00310270:\n                if (((bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2)) &&\n                   (bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0)) goto LAB_00310293;\n              }\nLAB_003101c0:\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            if ((bVar16 & 4) != 0) {\n              FUN_00446c20(*param_2 + 0x1e0,puVar10,param_2,local_148,local_140);\n            }\n          }\n        }\n        local_138 = &local_d8;\n        FUN_001a5bc0(&local_b8);\n        FUN_001a5bc0(local_138);\n      }\n      local_148 = local_148 + 1;\n      local_120 = local_120 + 3;\n    }" ({ "{") (expression_statement "uVar21 = *local_120;" (assignment_expression "uVar21 = *local_120" (identifier "uVar21") (= "=") (pointer_expression "*local_120" (* "*") (identifier "local_120"))) (; ";")) (expression_statement "local_140 = (ulong)(uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18);" (assignment_expression "local_140 = (ulong)(uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18)" (identifier "local_140") (= "=") (call_expression "(ulong)(uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18)" (( "(") (binary_expression "uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18" (binary_expression "uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8" (binary_expression "uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8" (binary_expression "uVar21 >> 0x18" (identifier "uVar21") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar21 & 0xff0000) >> 8" (parenthesized_expression "(uVar21 & 0xff0000)" (( "(") (binary_expression "uVar21 & 0xff0000" (identifier "uVar21") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar21 & 0xff00) << 8" (parenthesized_expression "(uVar21 & 0xff00)" (( "(") (binary_expression "uVar21 & 0xff00" (identifier "uVar21") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar21 << 0x18" (identifier "uVar21") (<< "<<") (number_literal "0x18"))) () ")")))) (; ";")) (if_statement "if ((param_7 == '\0') ||\n         (local_140 = FUN_003cff80(param_6,param_2[2],(int)param_2[6],local_140),\n         local_140 != 0xffffffffffffffff)) {\n        local_d0 = 0x80000000;\n        local_c8 = 0;\n        uVar21 = local_120[1];\n        local_d8 = 0xffffffff00000000;\n        uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n        if (uVar21 < local_ec) {\n          if ((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))\n          {\nLAB_0030fa33:\n            iVar7 = *(int *)((long)puVar10 + 0x1c);\n            uVar17 = iVar7 - 1;\n            if (0xfffffffd < uVar17) goto LAB_0030fa42;\nLAB_0030fcf0:\n            if (uVar17 == 0xfffffffd) {\n                    \n              FUN_00352af0("../../gold/object.h",0x70d,"set_output_symtab_index");\n            }\n            local_d8 = CONCAT44(local_d8._4_4_,iVar7);\n            goto LAB_0030fa4a;\n          }\n          if ((ulong)((plVar23[0x2d] - plVar23[0x2c] >> 3) * -0x5555555555555555) <= (ulong)uVar21)\n          {\n                    \n            FUN_00352af0("../../gold/object.h",0x8c1,"local_symbol");\n          }\n          puVar22 = (undefined8 *)(plVar23[0x2c] + (ulong)uVar21 * 0x18);\n          uVar1 = *(uint *)(puVar22 + 1);\n          uVar6 = uVar1 & 0x7ffffff;\n          uVar17 = uVar1 & 0x7ffffff;\n          if (((*(byte *)((long)puVar22 + 0xb) & 8) == 0) || (uVar6 == 0)) {\nLAB_0030fbb3:\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }\n          if ((ulong)(plVar23[0xb] - plVar23[10] >> 3) <= (ulong)uVar6) {\n                    \n                    \n            FUN_00352af0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(long *)(plVar23[10] + (ulong)uVar6 * 8) != 0) goto LAB_0030fbb3;\n          cVar4 = FUN_00443530(*param_2,plVar23,uVar1 & 0x7ffffff);\n          puVar10 = (undefined8 *)0x0;\n          if (cVar4 != '\0') {\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }\nLAB_0030fd25:\n          local_b0 = 0x80000000;\n          local_b8 = 0xffffffff00000000;\n          local_a8 = 0;\n          if (*(code **)(*plVar23 + 0x80) == FUN_0022c990) {\n                    \n            FUN_0022c800(local_58,plVar23 + 0x1f);\n          }\n          else {\n                    \n            (**(code **)(*plVar23 + 0x80))(local_58,plVar23,(int)param_2[6]);\n          }\n          bVar24 = false;\n          bVar26 = iVar8 == 0;\n          if (bVar26) {\n            lVar13 = 6;\n            pbVar18 = local_58[0];\n            pbVar19 = &DAT_00533552;\n            do {\n              if (lVar13 == 0) break;\n              lVar13 = lVar13 + -1;\n              bVar24 = *pbVar18 < *pbVar19;\n              bVar26 = *pbVar18 == *pbVar19;\n              pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n              pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n            } while (bVar26);\n            bVar25 = false;\n            bVar24 = (!bVar24 && !bVar26) == bVar24;\n            if (!bVar24) {\n              lVar13 = 7;\n              pbVar18 = local_58[0];\n              pbVar19 = (byte *)".zdebug";\n              do {\n                if (lVar13 == 0) break;\n                lVar13 = lVar13 + -1;\n                bVar25 = *pbVar18 < *pbVar19;\n                bVar24 = *pbVar18 == *pbVar19;\n                pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar13 = 0x11;\n                pbVar18 = local_58[0];\n                pbVar19 = (byte *)".gnu.linkonce.wi.";\n                do {\n                  if (lVar13 == 0) break;\n                  lVar13 = lVar13 + -1;\n                  bVar26 = *pbVar18 < *pbVar19;\n                  bVar24 = *pbVar18 == *pbVar19;\n                  pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  lVar13 = 5;\n                  pbVar18 = local_58[0];\n                  pbVar19 = (byte *)".line";\n                  do {\n                    if (lVar13 == 0) break;\n                    lVar13 = lVar13 + -1;\n                    bVar25 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    lVar13 = 5;\n                    pbVar18 = local_58[0];\n                    pbVar19 = (byte *)".stab";\n                    do {\n                      if (lVar13 == 0) break;\n                      lVar13 = lVar13 + -1;\n                      bVar26 = *pbVar18 < *pbVar19;\n                      bVar24 = *pbVar18 == *pbVar19;\n                      pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                      pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      lVar13 = 4;\n                      pbVar18 = local_58[0];\n                      pbVar19 = &DAT_0053357f;\n                      do {\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0030fdc0:\n                    \n            iVar8 = FUN_00397c50(plVar23,uVar17,local_58,&local_78);\n            local_a8 = 0;\n            if (local_78 != '\0') {\n              local_a8 = iVar8 + *(int *)(puVar22 + 2);\n            }\n            iVar8 = 1;\n          }\n          else {\n            if (iVar8 == 1) goto LAB_0030fdc0;\n            if (iVar8 == 3) {\nLAB_0030ff50:\n              lVar13 = param_2[2];\n              if (puVar10 == (undefined8 *)0x0) {\n                    \n                uVar9 = FUN_0039dd50(lVar13,uVar21);\n                uVar11 = gettext(\n                                "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                );\n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9,uVar21);\n              }\n              else {\n                    \n                FUN_004443d0(&local_78,puVar10);\n                uVar9 = CONCAT71(uStack_77,local_78);\n                uVar11 = gettext(\n                                "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                );\n                    \n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9);\n                if ((undefined1 *)CONCAT71(uStack_77,local_78) != auStack_68) {\n                  FUN_0049e340();\n                }\n              }\n                    \n              iVar8 = FUN_0039d3c0(lVar13,uVar21,local_e0,&local_e1);\n              if (iVar8 != 0) {\n                    \n                lVar15 = FUN_00397ec0(lVar13,iVar8,&local_dc);\n                if (local_dc != 0) {\n                    \n                  uVar9 = FUN_0039dd50(lVar13);\n                  uVar11 = gettext("  section group signature: \"%s\"");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n                if (lVar15 != 0) {\n                  uVar9 = *(undefined8 *)(lVar15 + 8);\n                  uVar11 = gettext("  prevailing definition is from %s");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n              }\n              iVar8 = 3;\n            }\n            else {\nLAB_00310006:\n              iVar8 = 2;\n            }\n            local_a8 = 0;\n          }\n          if ((int)local_b8 != 0) {\n                    \n                    \n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\n          local_b8 = CONCAT44(local_b8._4_4_,0xffffffff);\n          if (local_58[0] != abStack_48) {\n            FUN_0049e340();\n          }\n          puVar22 = &local_b8;\n          if (-1 < (long)local_140) goto LAB_0030fae5;\nLAB_0030fe48:\n          uVar9 = gettext("reloc has bad offset %zu");\n                    \n          FUN_0034aed0(param_2,local_148,local_140,uVar9,local_140);\n        }\n        else {\n          if ((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))\n          goto LAB_0030fa33;\n          if (uVar21 < *(uint *)(plVar23 + 0x24)) {\nLAB_003107a0:\n                    \n                    \n            FUN_00352af0("../../gold/target-reloc.h",0x17f,"relocate_section");\n          }\n          uVar14 = (ulong)(uVar21 - *(uint *)(plVar23 + 0x24));\n          if ((ulong)(plVar23[0x27] - plVar23[0x26] >> 3) <= uVar14) {\n                    \n            FUN_00352af0("../../gold/object.h",0x8ad,"global_symbol");\n          }\n          puVar10 = *(undefined8 **)(plVar23[0x26] + uVar14 * 8);\n          if (puVar10 == (undefined8 *)0x0) goto LAB_003107a0;\n          if ((*(byte *)((long)puVar10 + 0x3a) & 0x10) == 0) goto LAB_0030fa33;\n                    \n          puVar10 = (undefined8 *)FUN_00443580(*param_2,puVar10);\n          iVar7 = *(int *)((long)puVar10 + 0x1c);\n          uVar17 = iVar7 - 1;\n          if (uVar17 < 0xfffffffe) {\n            if (((int)local_d8 != 0) && ((int)local_d8 != -2)) {\n                    \n                    \n              FUN_00352af0("../../gold/object.h",0x70c,"set_output_symtab_index");\n            }\n            goto LAB_0030fcf0;\n          }\n          if ((int)local_d8 != 0) {\n                    \n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\nLAB_0030fa42:\n          local_d8 = CONCAT44(local_d8._4_4_,0xffffffff);\nLAB_0030fa4a:\n          local_c8 = *(undefined4 *)(puVar10 + 8);\n          if ((*(byte *)(puVar10 + 7) & 0xf) == 6) {\n            local_d0 = local_d0 | 0x20000000;\n          }\n          else if ((*(byte *)(puVar10 + 7) & 0xf) == 10) {\n            local_d0 = local_d0 | 0x40000000;\n          }\n          if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') {\n            if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) {\nLAB_0030fd10:\n                puVar22 = &local_d8;\n                uVar17 = 0;\n                goto LAB_0030fd25;\n              }\n            }\n            else if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 4) goto LAB_0030fd10;\n          }\n          puVar22 = &local_d8;\nLAB_0030faa5:\n          local_b0 = 0x80000000;\n          local_b8 = 0xffffffff00000000;\n          local_a8 = 0;\n          if ((long)local_140 < 0) goto LAB_0030fe48;\nLAB_0030fae5:\n          if ((param_10 <= local_140) || (local_140 + param_8 == 0)) goto LAB_0030fe48;\n          uVar21 = local_120[1];\n          if (uVar21 >> 0x18 != 0) {\n            uVar9 = gettext("Invalid/unrecognized reloc reloc %d.");\n                    \n            FUN_0034a750(uVar9,uVar21 >> 0x18);\n                    \n            FUN_00352af0("../../gold/aarch64-reloc-property.h",0xeb,"code_to_array_index");\n          }\n          if (*DAT_0067dff8 == 0) {\n                    \n            FUN_0031d8d0(local_58,DAT_0067dff8,0);\n            pbVar18 = local_58[0];\n            uVar9 = gettext("cannot relocate %s in object file");\n            uVar21 = *local_120;\n                    \n            FUN_0034aed0(param_2,local_148,\n                         uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18,uVar9,pbVar18);\n            if (local_58[0] != abStack_48) {\n              FUN_0049e340();\n            }\n          }\n          else {\n            plVar3 = (long *)param_2[2];\n            local_90 = 0x80000000;\n            local_98 = 0xffffffff00000000;\n            local_88 = 0;\n            if (puVar10 == (undefined8 *)0x0) {\n              if ((*(byte *)((long)puVar22 + 0xb) & 0x40) != 0) {\n                uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n                    \n                cVar4 = FUN_00397bb0(plVar3,uVar21);\n                if (cVar4 != '\0') {\n                  lVar13 = *(long *)(param_1 + 0x28);\n                  if (lVar13 == 0) {\n                    \n                    FUN_002ed4a0();\n                    goto LAB_003108ca;\n                  }\n                  if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    \n                    \n                    FUN_00352af0("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar9 = *(undefined8 *)(lVar13 + 8);\n                  iVar7 = *(int *)(lVar13 + 0x68);\n                  local_88 = (**(code **)(*plVar3 + 0x150))(plVar3,uVar21);\n                  local_88 = (int)uVar9 + 0x20 + iVar7 * 0x10 + local_88;\n                }\n              }\n            }\n            else {\n                    \n              cVar4 = FUN_00228fa0(puVar10,*(undefined4 *)(*DAT_0067dff8 + 0x4c));\n              if (cVar4 != '\0') {\n                if (*(long *)(param_1 + 0x28) == 0) {\n                    \n                  FUN_002ed4a0();\n                  goto LAB_00310805;\n                }\n                local_88 = FUN_002f9c90(*(long *)(param_1 + 0x28),puVar10);\n              }\n            }\n            FUN_001a5bc0(&local_98);\n          }\n          if (puVar10 != (undefined8 *)0x0) {\n            bVar16 = *(byte *)((long)puVar10 + 0x3a);\n            bVar5 = bVar16 & 7;\n            if ((bVar16 & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) != 0) || ((*(byte *)((long)puVar10 + 0x3b) & 0x20) == 0)) {\n                if (*(code **)(*(long *)puVar10[2] + 0x28) != FUN_001a4aa0) {\n                  lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                  if (lVar13 != 0) {\n                    bVar16 = *(byte *)((long)puVar10 + 0x3a);\n                    bVar5 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar5 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)puVar10 + 0x3b)) goto LAB_00310305;\n                    bVar5 = *(byte *)((long)puVar10 + 0x39);\n                    if ((bVar5 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }\nLAB_0031015a:\n                bVar16 = bVar16 & 7;\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                if ((*(byte *)((long)puVar10 + 0x39) & 3) == 0) goto LAB_003101c0;\nLAB_00310166:\n                if (((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)\n                    ) && ((*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0)))) {\nLAB_00310293:\n                  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_003108ca:\n                    \n                    \n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') {\n                    if (bVar16 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)(puVar10[2] + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }\n                if (bVar5 == 2) {\n                  uVar9 = gettext("hidden");\n                }\n                else if (bVar5 < 3) {\n                  if (bVar5 != 1) {\n                    \n                    FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar9 = gettext("internal");\n                }\n                else {\n                  uVar9 = gettext("protected");\n                }\n                uVar11 = *puVar10;\n                uVar12 = gettext("%s symbol \'%s\' is not defined locally");\n                    \n                FUN_0034a750(uVar12,uVar9,uVar11);\n                goto LAB_003101c0;\n              }\nLAB_0031020c:\n              if ((*(byte *)(puVar10 + 7) >> 4 == 2) || ((*(byte *)((long)puVar10 + 0x3c) & 2) != 0)\n                 ) {\nLAB_00310438:\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_0031043f:\n                if (bVar5 == 0) goto LAB_003101c0;\n                bVar16 = *(byte *)((long)puVar10 + 0x3a) & 7;\n                if (bVar16 != 0) goto LAB_00310270;\n                goto LAB_00310166;\n              }\n              if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\n                    \n                    \n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') goto LAB_00310438;\n              if (*(char *)((long)puVar10 + 0x3b) < '\0') {\n                if (bVar5 != 0) goto LAB_00310260;\nLAB_003105b8:\n                if (*(code **)(*(long *)puVar10[2] + 0x28) == FUN_001a4aa0) goto LAB_0031015a;\n                    \n                lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                if (lVar13 == 0) goto LAB_00310438;\n              }\nLAB_00310305:\n              plVar3 = *(long **)(PTR_DAT_0067cb08 + 0x18);\n              if (plVar3 == (long *)0x0) {\nLAB_00310805:\n                    \n                    \n                FUN_00352af0("../../gold/parameters.h",0x69,"target");\n              }\n              if ((*(code **)(*plVar3 + 0x38) != FUN_001a49e0) &&\n                 (cVar4 = (**(code **)(*plVar3 + 0x38))(plVar3,puVar10), cVar4 != '\0'))\n              goto LAB_00310438;\n              lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar13 == 0) {\n                    \n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              pbVar18 = *(byte **)(lVar13 + 0x6c40);\n              bVar24 = false;\n              bVar26 = pbVar18 == (byte *)0x0;\n              if (bVar26) {\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_003103c9:\n                if ((bVar5 == 2) ||\n                   ((*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0'))))\n                goto LAB_003103e1;\n                goto LAB_0031043f;\n              }\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"ignore-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar24 = *pbVar19 < *pbVar20;\n                bVar26 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar26);\n              bVar25 = false;\n              bVar24 = (!bVar24 && !bVar26) == bVar24;\n              if (bVar24) goto LAB_00310438;\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"report-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar25 = *pbVar19 < *pbVar20;\n                bVar24 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar15 = 0x17;\n                pbVar19 = pbVar18;\n                pbVar20 = (byte *)"ignore-in-object-files";\n                do {\n                  if (lVar15 == 0) break;\n                  lVar15 = lVar15 + -1;\n                  bVar26 = *pbVar19 < *pbVar20;\n                  bVar24 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if ((!bVar24) || (bVar24 = (*(byte *)((long)puVar10 + 0x3b) & 1) == 0, !bVar24)) {\n                  bVar26 = false;\n                  lVar15 = 0x16;\n                  pbVar19 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    if (lVar15 == 0) break;\n                    lVar15 = lVar15 + -1;\n                    bVar26 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  if (((!bVar26 && !bVar24) != bVar26) || (*(char *)((long)puVar10 + 0x3a) < '\0'))\n                  goto LAB_003103c9;\n                }\n                goto LAB_0031043f;\n              }\nLAB_003103e1:\n              FUN_0034b9f0(puVar10,param_2,local_148,local_140);\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            else {\n              if (bVar5 == 4) goto LAB_0031020c;\nLAB_00310260:\n              bVar5 = *(byte *)((long)puVar10 + 0x39);\n              if ((bVar5 & 3) != 0) {\nLAB_0031026d:\n                bVar5 = bVar5 & 3;\n                bVar16 = bVar16 & 7;\nLAB_00310270:\n                if (((bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2)) &&\n                   (bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0)) goto LAB_00310293;\n              }\nLAB_003101c0:\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            if ((bVar16 & 4) != 0) {\n              FUN_00446c20(*param_2 + 0x1e0,puVar10,param_2,local_148,local_140);\n            }\n          }\n        }\n        local_138 = &local_d8;\n        FUN_001a5bc0(&local_b8);\n        FUN_001a5bc0(local_138);\n      }" (if "if") (parenthesized_expression "((param_7 == '\0') ||\n         (local_140 = FUN_003cff80(param_6,param_2[2],(int)param_2[6],local_140),\n         local_140 != 0xffffffffffffffff))" (( "(") (binary_expression "(param_7 == '\0') ||\n         (local_140 = FUN_003cff80(param_6,param_2[2],(int)param_2[6],local_140),\n         local_140 != 0xffffffffffffffff)" (parenthesized_expression "(param_7 == '\0')" (( "(") (binary_expression "param_7 == '\0'" (identifier "param_7") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (|| "||") (parenthesized_expression "(local_140 = FUN_003cff80(param_6,param_2[2],(int)param_2[6],local_140),\n         local_140 != 0xffffffffffffffff)" (( "(") (comma_expression "local_140 = FUN_003cff80(param_6,param_2[2],(int)param_2[6],local_140),\n         local_140 != 0xffffffffffffffff" (assignment_expression "local_140 = FUN_003cff80(param_6,param_2[2],(int)param_2[6],local_140)" (identifier "local_140") (= "=") (call_expression "FUN_003cff80(param_6,param_2[2],(int)param_2[6],local_140)" (identifier "FUN_003cff80") (argument_list "(param_6,param_2[2],(int)param_2[6],local_140)" (( "(") (identifier "param_6") (, ",") (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]")) (, ",") (cast_expression "(int)param_2[6]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "param_2[6]" (identifier "param_2") ([ "[") (number_literal "6") (] "]"))) (, ",") (identifier "local_140") () ")")))) (, ",") (binary_expression "local_140 != 0xffffffffffffffff" (identifier "local_140") (!= "!=") (number_literal "0xffffffffffffffff"))) () ")"))) () ")")) (compound_statement "{\n        local_d0 = 0x80000000;\n        local_c8 = 0;\n        uVar21 = local_120[1];\n        local_d8 = 0xffffffff00000000;\n        uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n        if (uVar21 < local_ec) {\n          if ((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))\n          {\nLAB_0030fa33:\n            iVar7 = *(int *)((long)puVar10 + 0x1c);\n            uVar17 = iVar7 - 1;\n            if (0xfffffffd < uVar17) goto LAB_0030fa42;\nLAB_0030fcf0:\n            if (uVar17 == 0xfffffffd) {\n                    \n              FUN_00352af0("../../gold/object.h",0x70d,"set_output_symtab_index");\n            }\n            local_d8 = CONCAT44(local_d8._4_4_,iVar7);\n            goto LAB_0030fa4a;\n          }\n          if ((ulong)((plVar23[0x2d] - plVar23[0x2c] >> 3) * -0x5555555555555555) <= (ulong)uVar21)\n          {\n                    \n            FUN_00352af0("../../gold/object.h",0x8c1,"local_symbol");\n          }\n          puVar22 = (undefined8 *)(plVar23[0x2c] + (ulong)uVar21 * 0x18);\n          uVar1 = *(uint *)(puVar22 + 1);\n          uVar6 = uVar1 & 0x7ffffff;\n          uVar17 = uVar1 & 0x7ffffff;\n          if (((*(byte *)((long)puVar22 + 0xb) & 8) == 0) || (uVar6 == 0)) {\nLAB_0030fbb3:\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }\n          if ((ulong)(plVar23[0xb] - plVar23[10] >> 3) <= (ulong)uVar6) {\n                    \n                    \n            FUN_00352af0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(long *)(plVar23[10] + (ulong)uVar6 * 8) != 0) goto LAB_0030fbb3;\n          cVar4 = FUN_00443530(*param_2,plVar23,uVar1 & 0x7ffffff);\n          puVar10 = (undefined8 *)0x0;\n          if (cVar4 != '\0') {\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }\nLAB_0030fd25:\n          local_b0 = 0x80000000;\n          local_b8 = 0xffffffff00000000;\n          local_a8 = 0;\n          if (*(code **)(*plVar23 + 0x80) == FUN_0022c990) {\n                    \n            FUN_0022c800(local_58,plVar23 + 0x1f);\n          }\n          else {\n                    \n            (**(code **)(*plVar23 + 0x80))(local_58,plVar23,(int)param_2[6]);\n          }\n          bVar24 = false;\n          bVar26 = iVar8 == 0;\n          if (bVar26) {\n            lVar13 = 6;\n            pbVar18 = local_58[0];\n            pbVar19 = &DAT_00533552;\n            do {\n              if (lVar13 == 0) break;\n              lVar13 = lVar13 + -1;\n              bVar24 = *pbVar18 < *pbVar19;\n              bVar26 = *pbVar18 == *pbVar19;\n              pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n              pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n            } while (bVar26);\n            bVar25 = false;\n            bVar24 = (!bVar24 && !bVar26) == bVar24;\n            if (!bVar24) {\n              lVar13 = 7;\n              pbVar18 = local_58[0];\n              pbVar19 = (byte *)".zdebug";\n              do {\n                if (lVar13 == 0) break;\n                lVar13 = lVar13 + -1;\n                bVar25 = *pbVar18 < *pbVar19;\n                bVar24 = *pbVar18 == *pbVar19;\n                pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar13 = 0x11;\n                pbVar18 = local_58[0];\n                pbVar19 = (byte *)".gnu.linkonce.wi.";\n                do {\n                  if (lVar13 == 0) break;\n                  lVar13 = lVar13 + -1;\n                  bVar26 = *pbVar18 < *pbVar19;\n                  bVar24 = *pbVar18 == *pbVar19;\n                  pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  lVar13 = 5;\n                  pbVar18 = local_58[0];\n                  pbVar19 = (byte *)".line";\n                  do {\n                    if (lVar13 == 0) break;\n                    lVar13 = lVar13 + -1;\n                    bVar25 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    lVar13 = 5;\n                    pbVar18 = local_58[0];\n                    pbVar19 = (byte *)".stab";\n                    do {\n                      if (lVar13 == 0) break;\n                      lVar13 = lVar13 + -1;\n                      bVar26 = *pbVar18 < *pbVar19;\n                      bVar24 = *pbVar18 == *pbVar19;\n                      pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                      pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      lVar13 = 4;\n                      pbVar18 = local_58[0];\n                      pbVar19 = &DAT_0053357f;\n                      do {\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0030fdc0:\n                    \n            iVar8 = FUN_00397c50(plVar23,uVar17,local_58,&local_78);\n            local_a8 = 0;\n            if (local_78 != '\0') {\n              local_a8 = iVar8 + *(int *)(puVar22 + 2);\n            }\n            iVar8 = 1;\n          }\n          else {\n            if (iVar8 == 1) goto LAB_0030fdc0;\n            if (iVar8 == 3) {\nLAB_0030ff50:\n              lVar13 = param_2[2];\n              if (puVar10 == (undefined8 *)0x0) {\n                    \n                uVar9 = FUN_0039dd50(lVar13,uVar21);\n                uVar11 = gettext(\n                                "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                );\n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9,uVar21);\n              }\n              else {\n                    \n                FUN_004443d0(&local_78,puVar10);\n                uVar9 = CONCAT71(uStack_77,local_78);\n                uVar11 = gettext(\n                                "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                );\n                    \n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9);\n                if ((undefined1 *)CONCAT71(uStack_77,local_78) != auStack_68) {\n                  FUN_0049e340();\n                }\n              }\n                    \n              iVar8 = FUN_0039d3c0(lVar13,uVar21,local_e0,&local_e1);\n              if (iVar8 != 0) {\n                    \n                lVar15 = FUN_00397ec0(lVar13,iVar8,&local_dc);\n                if (local_dc != 0) {\n                    \n                  uVar9 = FUN_0039dd50(lVar13);\n                  uVar11 = gettext("  section group signature: \"%s\"");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n                if (lVar15 != 0) {\n                  uVar9 = *(undefined8 *)(lVar15 + 8);\n                  uVar11 = gettext("  prevailing definition is from %s");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n              }\n              iVar8 = 3;\n            }\n            else {\nLAB_00310006:\n              iVar8 = 2;\n            }\n            local_a8 = 0;\n          }\n          if ((int)local_b8 != 0) {\n                    \n                    \n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\n          local_b8 = CONCAT44(local_b8._4_4_,0xffffffff);\n          if (local_58[0] != abStack_48) {\n            FUN_0049e340();\n          }\n          puVar22 = &local_b8;\n          if (-1 < (long)local_140) goto LAB_0030fae5;\nLAB_0030fe48:\n          uVar9 = gettext("reloc has bad offset %zu");\n                    \n          FUN_0034aed0(param_2,local_148,local_140,uVar9,local_140);\n        }\n        else {\n          if ((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))\n          goto LAB_0030fa33;\n          if (uVar21 < *(uint *)(plVar23 + 0x24)) {\nLAB_003107a0:\n                    \n                    \n            FUN_00352af0("../../gold/target-reloc.h",0x17f,"relocate_section");\n          }\n          uVar14 = (ulong)(uVar21 - *(uint *)(plVar23 + 0x24));\n          if ((ulong)(plVar23[0x27] - plVar23[0x26] >> 3) <= uVar14) {\n                    \n            FUN_00352af0("../../gold/object.h",0x8ad,"global_symbol");\n          }\n          puVar10 = *(undefined8 **)(plVar23[0x26] + uVar14 * 8);\n          if (puVar10 == (undefined8 *)0x0) goto LAB_003107a0;\n          if ((*(byte *)((long)puVar10 + 0x3a) & 0x10) == 0) goto LAB_0030fa33;\n                    \n          puVar10 = (undefined8 *)FUN_00443580(*param_2,puVar10);\n          iVar7 = *(int *)((long)puVar10 + 0x1c);\n          uVar17 = iVar7 - 1;\n          if (uVar17 < 0xfffffffe) {\n            if (((int)local_d8 != 0) && ((int)local_d8 != -2)) {\n                    \n                    \n              FUN_00352af0("../../gold/object.h",0x70c,"set_output_symtab_index");\n            }\n            goto LAB_0030fcf0;\n          }\n          if ((int)local_d8 != 0) {\n                    \n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\nLAB_0030fa42:\n          local_d8 = CONCAT44(local_d8._4_4_,0xffffffff);\nLAB_0030fa4a:\n          local_c8 = *(undefined4 *)(puVar10 + 8);\n          if ((*(byte *)(puVar10 + 7) & 0xf) == 6) {\n            local_d0 = local_d0 | 0x20000000;\n          }\n          else if ((*(byte *)(puVar10 + 7) & 0xf) == 10) {\n            local_d0 = local_d0 | 0x40000000;\n          }\n          if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') {\n            if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) {\nLAB_0030fd10:\n                puVar22 = &local_d8;\n                uVar17 = 0;\n                goto LAB_0030fd25;\n              }\n            }\n            else if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 4) goto LAB_0030fd10;\n          }\n          puVar22 = &local_d8;\nLAB_0030faa5:\n          local_b0 = 0x80000000;\n          local_b8 = 0xffffffff00000000;\n          local_a8 = 0;\n          if ((long)local_140 < 0) goto LAB_0030fe48;\nLAB_0030fae5:\n          if ((param_10 <= local_140) || (local_140 + param_8 == 0)) goto LAB_0030fe48;\n          uVar21 = local_120[1];\n          if (uVar21 >> 0x18 != 0) {\n            uVar9 = gettext("Invalid/unrecognized reloc reloc %d.");\n                    \n            FUN_0034a750(uVar9,uVar21 >> 0x18);\n                    \n            FUN_00352af0("../../gold/aarch64-reloc-property.h",0xeb,"code_to_array_index");\n          }\n          if (*DAT_0067dff8 == 0) {\n                    \n            FUN_0031d8d0(local_58,DAT_0067dff8,0);\n            pbVar18 = local_58[0];\n            uVar9 = gettext("cannot relocate %s in object file");\n            uVar21 = *local_120;\n                    \n            FUN_0034aed0(param_2,local_148,\n                         uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18,uVar9,pbVar18);\n            if (local_58[0] != abStack_48) {\n              FUN_0049e340();\n            }\n          }\n          else {\n            plVar3 = (long *)param_2[2];\n            local_90 = 0x80000000;\n            local_98 = 0xffffffff00000000;\n            local_88 = 0;\n            if (puVar10 == (undefined8 *)0x0) {\n              if ((*(byte *)((long)puVar22 + 0xb) & 0x40) != 0) {\n                uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n                    \n                cVar4 = FUN_00397bb0(plVar3,uVar21);\n                if (cVar4 != '\0') {\n                  lVar13 = *(long *)(param_1 + 0x28);\n                  if (lVar13 == 0) {\n                    \n                    FUN_002ed4a0();\n                    goto LAB_003108ca;\n                  }\n                  if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    \n                    \n                    FUN_00352af0("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar9 = *(undefined8 *)(lVar13 + 8);\n                  iVar7 = *(int *)(lVar13 + 0x68);\n                  local_88 = (**(code **)(*plVar3 + 0x150))(plVar3,uVar21);\n                  local_88 = (int)uVar9 + 0x20 + iVar7 * 0x10 + local_88;\n                }\n              }\n            }\n            else {\n                    \n              cVar4 = FUN_00228fa0(puVar10,*(undefined4 *)(*DAT_0067dff8 + 0x4c));\n              if (cVar4 != '\0') {\n                if (*(long *)(param_1 + 0x28) == 0) {\n                    \n                  FUN_002ed4a0();\n                  goto LAB_00310805;\n                }\n                local_88 = FUN_002f9c90(*(long *)(param_1 + 0x28),puVar10);\n              }\n            }\n            FUN_001a5bc0(&local_98);\n          }\n          if (puVar10 != (undefined8 *)0x0) {\n            bVar16 = *(byte *)((long)puVar10 + 0x3a);\n            bVar5 = bVar16 & 7;\n            if ((bVar16 & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) != 0) || ((*(byte *)((long)puVar10 + 0x3b) & 0x20) == 0)) {\n                if (*(code **)(*(long *)puVar10[2] + 0x28) != FUN_001a4aa0) {\n                  lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                  if (lVar13 != 0) {\n                    bVar16 = *(byte *)((long)puVar10 + 0x3a);\n                    bVar5 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar5 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)puVar10 + 0x3b)) goto LAB_00310305;\n                    bVar5 = *(byte *)((long)puVar10 + 0x39);\n                    if ((bVar5 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }\nLAB_0031015a:\n                bVar16 = bVar16 & 7;\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                if ((*(byte *)((long)puVar10 + 0x39) & 3) == 0) goto LAB_003101c0;\nLAB_00310166:\n                if (((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)\n                    ) && ((*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0)))) {\nLAB_00310293:\n                  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_003108ca:\n                    \n                    \n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') {\n                    if (bVar16 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)(puVar10[2] + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }\n                if (bVar5 == 2) {\n                  uVar9 = gettext("hidden");\n                }\n                else if (bVar5 < 3) {\n                  if (bVar5 != 1) {\n                    \n                    FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar9 = gettext("internal");\n                }\n                else {\n                  uVar9 = gettext("protected");\n                }\n                uVar11 = *puVar10;\n                uVar12 = gettext("%s symbol \'%s\' is not defined locally");\n                    \n                FUN_0034a750(uVar12,uVar9,uVar11);\n                goto LAB_003101c0;\n              }\nLAB_0031020c:\n              if ((*(byte *)(puVar10 + 7) >> 4 == 2) || ((*(byte *)((long)puVar10 + 0x3c) & 2) != 0)\n                 ) {\nLAB_00310438:\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_0031043f:\n                if (bVar5 == 0) goto LAB_003101c0;\n                bVar16 = *(byte *)((long)puVar10 + 0x3a) & 7;\n                if (bVar16 != 0) goto LAB_00310270;\n                goto LAB_00310166;\n              }\n              if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\n                    \n                    \n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') goto LAB_00310438;\n              if (*(char *)((long)puVar10 + 0x3b) < '\0') {\n                if (bVar5 != 0) goto LAB_00310260;\nLAB_003105b8:\n                if (*(code **)(*(long *)puVar10[2] + 0x28) == FUN_001a4aa0) goto LAB_0031015a;\n                    \n                lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                if (lVar13 == 0) goto LAB_00310438;\n              }\nLAB_00310305:\n              plVar3 = *(long **)(PTR_DAT_0067cb08 + 0x18);\n              if (plVar3 == (long *)0x0) {\nLAB_00310805:\n                    \n                    \n                FUN_00352af0("../../gold/parameters.h",0x69,"target");\n              }\n              if ((*(code **)(*plVar3 + 0x38) != FUN_001a49e0) &&\n                 (cVar4 = (**(code **)(*plVar3 + 0x38))(plVar3,puVar10), cVar4 != '\0'))\n              goto LAB_00310438;\n              lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar13 == 0) {\n                    \n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              pbVar18 = *(byte **)(lVar13 + 0x6c40);\n              bVar24 = false;\n              bVar26 = pbVar18 == (byte *)0x0;\n              if (bVar26) {\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_003103c9:\n                if ((bVar5 == 2) ||\n                   ((*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0'))))\n                goto LAB_003103e1;\n                goto LAB_0031043f;\n              }\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"ignore-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar24 = *pbVar19 < *pbVar20;\n                bVar26 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar26);\n              bVar25 = false;\n              bVar24 = (!bVar24 && !bVar26) == bVar24;\n              if (bVar24) goto LAB_00310438;\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"report-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar25 = *pbVar19 < *pbVar20;\n                bVar24 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar15 = 0x17;\n                pbVar19 = pbVar18;\n                pbVar20 = (byte *)"ignore-in-object-files";\n                do {\n                  if (lVar15 == 0) break;\n                  lVar15 = lVar15 + -1;\n                  bVar26 = *pbVar19 < *pbVar20;\n                  bVar24 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if ((!bVar24) || (bVar24 = (*(byte *)((long)puVar10 + 0x3b) & 1) == 0, !bVar24)) {\n                  bVar26 = false;\n                  lVar15 = 0x16;\n                  pbVar19 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    if (lVar15 == 0) break;\n                    lVar15 = lVar15 + -1;\n                    bVar26 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  if (((!bVar26 && !bVar24) != bVar26) || (*(char *)((long)puVar10 + 0x3a) < '\0'))\n                  goto LAB_003103c9;\n                }\n                goto LAB_0031043f;\n              }\nLAB_003103e1:\n              FUN_0034b9f0(puVar10,param_2,local_148,local_140);\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            else {\n              if (bVar5 == 4) goto LAB_0031020c;\nLAB_00310260:\n              bVar5 = *(byte *)((long)puVar10 + 0x39);\n              if ((bVar5 & 3) != 0) {\nLAB_0031026d:\n                bVar5 = bVar5 & 3;\n                bVar16 = bVar16 & 7;\nLAB_00310270:\n                if (((bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2)) &&\n                   (bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0)) goto LAB_00310293;\n              }\nLAB_003101c0:\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            if ((bVar16 & 4) != 0) {\n              FUN_00446c20(*param_2 + 0x1e0,puVar10,param_2,local_148,local_140);\n            }\n          }\n        }\n        local_138 = &local_d8;\n        FUN_001a5bc0(&local_b8);\n        FUN_001a5bc0(local_138);\n      }" ({ "{") (expression_statement "local_d0 = 0x80000000;" (assignment_expression "local_d0 = 0x80000000" (identifier "local_d0") (= "=") (number_literal "0x80000000")) (; ";")) (expression_statement "local_c8 = 0;" (assignment_expression "local_c8 = 0" (identifier "local_c8") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar21 = local_120[1];" (assignment_expression "uVar21 = local_120[1]" (identifier "uVar21") (= "=") (subscript_expression "local_120[1]" (identifier "local_120") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "local_d8 = 0xffffffff00000000;" (assignment_expression "local_d8 = 0xffffffff00000000" (identifier "local_d8") (= "=") (number_literal "0xffffffff00000000")) (; ";")) (expression_statement "uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;" (assignment_expression "uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8" (identifier "uVar21") (= "=") (binary_expression "((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8" (parenthesized_expression "((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18)" (( "(") (binary_expression "(uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18" (binary_expression "(uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8" (binary_expression "(uVar21 & 0xff0000) >> 8" (parenthesized_expression "(uVar21 & 0xff0000)" (( "(") (binary_expression "uVar21 & 0xff0000" (identifier "uVar21") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8")) (| "|") (binary_expression "(uVar21 & 0xff00) << 8" (parenthesized_expression "(uVar21 & 0xff00)" (( "(") (binary_expression "uVar21 & 0xff00" (identifier "uVar21") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar21 << 0x18" (identifier "uVar21") (<< "<<") (number_literal "0x18"))) () ")")) (>> ">>") (number_literal "8"))) (; ";")) (if_statement "if (uVar21 < local_ec) {\n          if ((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))\n          {\nLAB_0030fa33:\n            iVar7 = *(int *)((long)puVar10 + 0x1c);\n            uVar17 = iVar7 - 1;\n            if (0xfffffffd < uVar17) goto LAB_0030fa42;\nLAB_0030fcf0:\n            if (uVar17 == 0xfffffffd) {\n                    \n              FUN_00352af0("../../gold/object.h",0x70d,"set_output_symtab_index");\n            }\n            local_d8 = CONCAT44(local_d8._4_4_,iVar7);\n            goto LAB_0030fa4a;\n          }\n          if ((ulong)((plVar23[0x2d] - plVar23[0x2c] >> 3) * -0x5555555555555555) <= (ulong)uVar21)\n          {\n                    \n            FUN_00352af0("../../gold/object.h",0x8c1,"local_symbol");\n          }\n          puVar22 = (undefined8 *)(plVar23[0x2c] + (ulong)uVar21 * 0x18);\n          uVar1 = *(uint *)(puVar22 + 1);\n          uVar6 = uVar1 & 0x7ffffff;\n          uVar17 = uVar1 & 0x7ffffff;\n          if (((*(byte *)((long)puVar22 + 0xb) & 8) == 0) || (uVar6 == 0)) {\nLAB_0030fbb3:\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }\n          if ((ulong)(plVar23[0xb] - plVar23[10] >> 3) <= (ulong)uVar6) {\n                    \n                    \n            FUN_00352af0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(long *)(plVar23[10] + (ulong)uVar6 * 8) != 0) goto LAB_0030fbb3;\n          cVar4 = FUN_00443530(*param_2,plVar23,uVar1 & 0x7ffffff);\n          puVar10 = (undefined8 *)0x0;\n          if (cVar4 != '\0') {\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }\nLAB_0030fd25:\n          local_b0 = 0x80000000;\n          local_b8 = 0xffffffff00000000;\n          local_a8 = 0;\n          if (*(code **)(*plVar23 + 0x80) == FUN_0022c990) {\n                    \n            FUN_0022c800(local_58,plVar23 + 0x1f);\n          }\n          else {\n                    \n            (**(code **)(*plVar23 + 0x80))(local_58,plVar23,(int)param_2[6]);\n          }\n          bVar24 = false;\n          bVar26 = iVar8 == 0;\n          if (bVar26) {\n            lVar13 = 6;\n            pbVar18 = local_58[0];\n            pbVar19 = &DAT_00533552;\n            do {\n              if (lVar13 == 0) break;\n              lVar13 = lVar13 + -1;\n              bVar24 = *pbVar18 < *pbVar19;\n              bVar26 = *pbVar18 == *pbVar19;\n              pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n              pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n            } while (bVar26);\n            bVar25 = false;\n            bVar24 = (!bVar24 && !bVar26) == bVar24;\n            if (!bVar24) {\n              lVar13 = 7;\n              pbVar18 = local_58[0];\n              pbVar19 = (byte *)".zdebug";\n              do {\n                if (lVar13 == 0) break;\n                lVar13 = lVar13 + -1;\n                bVar25 = *pbVar18 < *pbVar19;\n                bVar24 = *pbVar18 == *pbVar19;\n                pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar13 = 0x11;\n                pbVar18 = local_58[0];\n                pbVar19 = (byte *)".gnu.linkonce.wi.";\n                do {\n                  if (lVar13 == 0) break;\n                  lVar13 = lVar13 + -1;\n                  bVar26 = *pbVar18 < *pbVar19;\n                  bVar24 = *pbVar18 == *pbVar19;\n                  pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  lVar13 = 5;\n                  pbVar18 = local_58[0];\n                  pbVar19 = (byte *)".line";\n                  do {\n                    if (lVar13 == 0) break;\n                    lVar13 = lVar13 + -1;\n                    bVar25 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    lVar13 = 5;\n                    pbVar18 = local_58[0];\n                    pbVar19 = (byte *)".stab";\n                    do {\n                      if (lVar13 == 0) break;\n                      lVar13 = lVar13 + -1;\n                      bVar26 = *pbVar18 < *pbVar19;\n                      bVar24 = *pbVar18 == *pbVar19;\n                      pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                      pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      lVar13 = 4;\n                      pbVar18 = local_58[0];\n                      pbVar19 = &DAT_0053357f;\n                      do {\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0030fdc0:\n                    \n            iVar8 = FUN_00397c50(plVar23,uVar17,local_58,&local_78);\n            local_a8 = 0;\n            if (local_78 != '\0') {\n              local_a8 = iVar8 + *(int *)(puVar22 + 2);\n            }\n            iVar8 = 1;\n          }\n          else {\n            if (iVar8 == 1) goto LAB_0030fdc0;\n            if (iVar8 == 3) {\nLAB_0030ff50:\n              lVar13 = param_2[2];\n              if (puVar10 == (undefined8 *)0x0) {\n                    \n                uVar9 = FUN_0039dd50(lVar13,uVar21);\n                uVar11 = gettext(\n                                "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                );\n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9,uVar21);\n              }\n              else {\n                    \n                FUN_004443d0(&local_78,puVar10);\n                uVar9 = CONCAT71(uStack_77,local_78);\n                uVar11 = gettext(\n                                "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                );\n                    \n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9);\n                if ((undefined1 *)CONCAT71(uStack_77,local_78) != auStack_68) {\n                  FUN_0049e340();\n                }\n              }\n                    \n              iVar8 = FUN_0039d3c0(lVar13,uVar21,local_e0,&local_e1);\n              if (iVar8 != 0) {\n                    \n                lVar15 = FUN_00397ec0(lVar13,iVar8,&local_dc);\n                if (local_dc != 0) {\n                    \n                  uVar9 = FUN_0039dd50(lVar13);\n                  uVar11 = gettext("  section group signature: \"%s\"");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n                if (lVar15 != 0) {\n                  uVar9 = *(undefined8 *)(lVar15 + 8);\n                  uVar11 = gettext("  prevailing definition is from %s");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n              }\n              iVar8 = 3;\n            }\n            else {\nLAB_00310006:\n              iVar8 = 2;\n            }\n            local_a8 = 0;\n          }\n          if ((int)local_b8 != 0) {\n                    \n                    \n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\n          local_b8 = CONCAT44(local_b8._4_4_,0xffffffff);\n          if (local_58[0] != abStack_48) {\n            FUN_0049e340();\n          }\n          puVar22 = &local_b8;\n          if (-1 < (long)local_140) goto LAB_0030fae5;\nLAB_0030fe48:\n          uVar9 = gettext("reloc has bad offset %zu");\n                    \n          FUN_0034aed0(param_2,local_148,local_140,uVar9,local_140);\n        }\n        else {\n          if ((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))\n          goto LAB_0030fa33;\n          if (uVar21 < *(uint *)(plVar23 + 0x24)) {\nLAB_003107a0:\n                    \n                    \n            FUN_00352af0("../../gold/target-reloc.h",0x17f,"relocate_section");\n          }\n          uVar14 = (ulong)(uVar21 - *(uint *)(plVar23 + 0x24));\n          if ((ulong)(plVar23[0x27] - plVar23[0x26] >> 3) <= uVar14) {\n                    \n            FUN_00352af0("../../gold/object.h",0x8ad,"global_symbol");\n          }\n          puVar10 = *(undefined8 **)(plVar23[0x26] + uVar14 * 8);\n          if (puVar10 == (undefined8 *)0x0) goto LAB_003107a0;\n          if ((*(byte *)((long)puVar10 + 0x3a) & 0x10) == 0) goto LAB_0030fa33;\n                    \n          puVar10 = (undefined8 *)FUN_00443580(*param_2,puVar10);\n          iVar7 = *(int *)((long)puVar10 + 0x1c);\n          uVar17 = iVar7 - 1;\n          if (uVar17 < 0xfffffffe) {\n            if (((int)local_d8 != 0) && ((int)local_d8 != -2)) {\n                    \n                    \n              FUN_00352af0("../../gold/object.h",0x70c,"set_output_symtab_index");\n            }\n            goto LAB_0030fcf0;\n          }\n          if ((int)local_d8 != 0) {\n                    \n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\nLAB_0030fa42:\n          local_d8 = CONCAT44(local_d8._4_4_,0xffffffff);\nLAB_0030fa4a:\n          local_c8 = *(undefined4 *)(puVar10 + 8);\n          if ((*(byte *)(puVar10 + 7) & 0xf) == 6) {\n            local_d0 = local_d0 | 0x20000000;\n          }\n          else if ((*(byte *)(puVar10 + 7) & 0xf) == 10) {\n            local_d0 = local_d0 | 0x40000000;\n          }\n          if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') {\n            if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) {\nLAB_0030fd10:\n                puVar22 = &local_d8;\n                uVar17 = 0;\n                goto LAB_0030fd25;\n              }\n            }\n            else if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 4) goto LAB_0030fd10;\n          }\n          puVar22 = &local_d8;\nLAB_0030faa5:\n          local_b0 = 0x80000000;\n          local_b8 = 0xffffffff00000000;\n          local_a8 = 0;\n          if ((long)local_140 < 0) goto LAB_0030fe48;\nLAB_0030fae5:\n          if ((param_10 <= local_140) || (local_140 + param_8 == 0)) goto LAB_0030fe48;\n          uVar21 = local_120[1];\n          if (uVar21 >> 0x18 != 0) {\n            uVar9 = gettext("Invalid/unrecognized reloc reloc %d.");\n                    \n            FUN_0034a750(uVar9,uVar21 >> 0x18);\n                    \n            FUN_00352af0("../../gold/aarch64-reloc-property.h",0xeb,"code_to_array_index");\n          }\n          if (*DAT_0067dff8 == 0) {\n                    \n            FUN_0031d8d0(local_58,DAT_0067dff8,0);\n            pbVar18 = local_58[0];\n            uVar9 = gettext("cannot relocate %s in object file");\n            uVar21 = *local_120;\n                    \n            FUN_0034aed0(param_2,local_148,\n                         uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18,uVar9,pbVar18);\n            if (local_58[0] != abStack_48) {\n              FUN_0049e340();\n            }\n          }\n          else {\n            plVar3 = (long *)param_2[2];\n            local_90 = 0x80000000;\n            local_98 = 0xffffffff00000000;\n            local_88 = 0;\n            if (puVar10 == (undefined8 *)0x0) {\n              if ((*(byte *)((long)puVar22 + 0xb) & 0x40) != 0) {\n                uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n                    \n                cVar4 = FUN_00397bb0(plVar3,uVar21);\n                if (cVar4 != '\0') {\n                  lVar13 = *(long *)(param_1 + 0x28);\n                  if (lVar13 == 0) {\n                    \n                    FUN_002ed4a0();\n                    goto LAB_003108ca;\n                  }\n                  if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    \n                    \n                    FUN_00352af0("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar9 = *(undefined8 *)(lVar13 + 8);\n                  iVar7 = *(int *)(lVar13 + 0x68);\n                  local_88 = (**(code **)(*plVar3 + 0x150))(plVar3,uVar21);\n                  local_88 = (int)uVar9 + 0x20 + iVar7 * 0x10 + local_88;\n                }\n              }\n            }\n            else {\n                    \n              cVar4 = FUN_00228fa0(puVar10,*(undefined4 *)(*DAT_0067dff8 + 0x4c));\n              if (cVar4 != '\0') {\n                if (*(long *)(param_1 + 0x28) == 0) {\n                    \n                  FUN_002ed4a0();\n                  goto LAB_00310805;\n                }\n                local_88 = FUN_002f9c90(*(long *)(param_1 + 0x28),puVar10);\n              }\n            }\n            FUN_001a5bc0(&local_98);\n          }\n          if (puVar10 != (undefined8 *)0x0) {\n            bVar16 = *(byte *)((long)puVar10 + 0x3a);\n            bVar5 = bVar16 & 7;\n            if ((bVar16 & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) != 0) || ((*(byte *)((long)puVar10 + 0x3b) & 0x20) == 0)) {\n                if (*(code **)(*(long *)puVar10[2] + 0x28) != FUN_001a4aa0) {\n                  lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                  if (lVar13 != 0) {\n                    bVar16 = *(byte *)((long)puVar10 + 0x3a);\n                    bVar5 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar5 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)puVar10 + 0x3b)) goto LAB_00310305;\n                    bVar5 = *(byte *)((long)puVar10 + 0x39);\n                    if ((bVar5 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }\nLAB_0031015a:\n                bVar16 = bVar16 & 7;\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                if ((*(byte *)((long)puVar10 + 0x39) & 3) == 0) goto LAB_003101c0;\nLAB_00310166:\n                if (((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)\n                    ) && ((*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0)))) {\nLAB_00310293:\n                  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_003108ca:\n                    \n                    \n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') {\n                    if (bVar16 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)(puVar10[2] + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }\n                if (bVar5 == 2) {\n                  uVar9 = gettext("hidden");\n                }\n                else if (bVar5 < 3) {\n                  if (bVar5 != 1) {\n                    \n                    FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar9 = gettext("internal");\n                }\n                else {\n                  uVar9 = gettext("protected");\n                }\n                uVar11 = *puVar10;\n                uVar12 = gettext("%s symbol \'%s\' is not defined locally");\n                    \n                FUN_0034a750(uVar12,uVar9,uVar11);\n                goto LAB_003101c0;\n              }\nLAB_0031020c:\n              if ((*(byte *)(puVar10 + 7) >> 4 == 2) || ((*(byte *)((long)puVar10 + 0x3c) & 2) != 0)\n                 ) {\nLAB_00310438:\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_0031043f:\n                if (bVar5 == 0) goto LAB_003101c0;\n                bVar16 = *(byte *)((long)puVar10 + 0x3a) & 7;\n                if (bVar16 != 0) goto LAB_00310270;\n                goto LAB_00310166;\n              }\n              if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\n                    \n                    \n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') goto LAB_00310438;\n              if (*(char *)((long)puVar10 + 0x3b) < '\0') {\n                if (bVar5 != 0) goto LAB_00310260;\nLAB_003105b8:\n                if (*(code **)(*(long *)puVar10[2] + 0x28) == FUN_001a4aa0) goto LAB_0031015a;\n                    \n                lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                if (lVar13 == 0) goto LAB_00310438;\n              }\nLAB_00310305:\n              plVar3 = *(long **)(PTR_DAT_0067cb08 + 0x18);\n              if (plVar3 == (long *)0x0) {\nLAB_00310805:\n                    \n                    \n                FUN_00352af0("../../gold/parameters.h",0x69,"target");\n              }\n              if ((*(code **)(*plVar3 + 0x38) != FUN_001a49e0) &&\n                 (cVar4 = (**(code **)(*plVar3 + 0x38))(plVar3,puVar10), cVar4 != '\0'))\n              goto LAB_00310438;\n              lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar13 == 0) {\n                    \n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              pbVar18 = *(byte **)(lVar13 + 0x6c40);\n              bVar24 = false;\n              bVar26 = pbVar18 == (byte *)0x0;\n              if (bVar26) {\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_003103c9:\n                if ((bVar5 == 2) ||\n                   ((*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0'))))\n                goto LAB_003103e1;\n                goto LAB_0031043f;\n              }\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"ignore-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar24 = *pbVar19 < *pbVar20;\n                bVar26 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar26);\n              bVar25 = false;\n              bVar24 = (!bVar24 && !bVar26) == bVar24;\n              if (bVar24) goto LAB_00310438;\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"report-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar25 = *pbVar19 < *pbVar20;\n                bVar24 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar15 = 0x17;\n                pbVar19 = pbVar18;\n                pbVar20 = (byte *)"ignore-in-object-files";\n                do {\n                  if (lVar15 == 0) break;\n                  lVar15 = lVar15 + -1;\n                  bVar26 = *pbVar19 < *pbVar20;\n                  bVar24 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if ((!bVar24) || (bVar24 = (*(byte *)((long)puVar10 + 0x3b) & 1) == 0, !bVar24)) {\n                  bVar26 = false;\n                  lVar15 = 0x16;\n                  pbVar19 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    if (lVar15 == 0) break;\n                    lVar15 = lVar15 + -1;\n                    bVar26 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  if (((!bVar26 && !bVar24) != bVar26) || (*(char *)((long)puVar10 + 0x3a) < '\0'))\n                  goto LAB_003103c9;\n                }\n                goto LAB_0031043f;\n              }\nLAB_003103e1:\n              FUN_0034b9f0(puVar10,param_2,local_148,local_140);\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            else {\n              if (bVar5 == 4) goto LAB_0031020c;\nLAB_00310260:\n              bVar5 = *(byte *)((long)puVar10 + 0x39);\n              if ((bVar5 & 3) != 0) {\nLAB_0031026d:\n                bVar5 = bVar5 & 3;\n                bVar16 = bVar16 & 7;\nLAB_00310270:\n                if (((bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2)) &&\n                   (bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0)) goto LAB_00310293;\n              }\nLAB_003101c0:\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            if ((bVar16 & 4) != 0) {\n              FUN_00446c20(*param_2 + 0x1e0,puVar10,param_2,local_148,local_140);\n            }\n          }\n        }" (if "if") (parenthesized_expression "(uVar21 < local_ec)" (( "(") (binary_expression "uVar21 < local_ec" (identifier "uVar21") (< "<") (identifier "local_ec")) () ")")) (compound_statement "{\n          if ((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))\n          {\nLAB_0030fa33:\n            iVar7 = *(int *)((long)puVar10 + 0x1c);\n            uVar17 = iVar7 - 1;\n            if (0xfffffffd < uVar17) goto LAB_0030fa42;\nLAB_0030fcf0:\n            if (uVar17 == 0xfffffffd) {\n                    \n              FUN_00352af0("../../gold/object.h",0x70d,"set_output_symtab_index");\n            }\n            local_d8 = CONCAT44(local_d8._4_4_,iVar7);\n            goto LAB_0030fa4a;\n          }\n          if ((ulong)((plVar23[0x2d] - plVar23[0x2c] >> 3) * -0x5555555555555555) <= (ulong)uVar21)\n          {\n                    \n            FUN_00352af0("../../gold/object.h",0x8c1,"local_symbol");\n          }\n          puVar22 = (undefined8 *)(plVar23[0x2c] + (ulong)uVar21 * 0x18);\n          uVar1 = *(uint *)(puVar22 + 1);\n          uVar6 = uVar1 & 0x7ffffff;\n          uVar17 = uVar1 & 0x7ffffff;\n          if (((*(byte *)((long)puVar22 + 0xb) & 8) == 0) || (uVar6 == 0)) {\nLAB_0030fbb3:\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }\n          if ((ulong)(plVar23[0xb] - plVar23[10] >> 3) <= (ulong)uVar6) {\n                    \n                    \n            FUN_00352af0("../../gold/object.h",0x50b,"is_section_included");\n          }\n          if (*(long *)(plVar23[10] + (ulong)uVar6 * 8) != 0) goto LAB_0030fbb3;\n          cVar4 = FUN_00443530(*param_2,plVar23,uVar1 & 0x7ffffff);\n          puVar10 = (undefined8 *)0x0;\n          if (cVar4 != '\0') {\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }\nLAB_0030fd25:\n          local_b0 = 0x80000000;\n          local_b8 = 0xffffffff00000000;\n          local_a8 = 0;\n          if (*(code **)(*plVar23 + 0x80) == FUN_0022c990) {\n                    \n            FUN_0022c800(local_58,plVar23 + 0x1f);\n          }\n          else {\n                    \n            (**(code **)(*plVar23 + 0x80))(local_58,plVar23,(int)param_2[6]);\n          }\n          bVar24 = false;\n          bVar26 = iVar8 == 0;\n          if (bVar26) {\n            lVar13 = 6;\n            pbVar18 = local_58[0];\n            pbVar19 = &DAT_00533552;\n            do {\n              if (lVar13 == 0) break;\n              lVar13 = lVar13 + -1;\n              bVar24 = *pbVar18 < *pbVar19;\n              bVar26 = *pbVar18 == *pbVar19;\n              pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n              pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n            } while (bVar26);\n            bVar25 = false;\n            bVar24 = (!bVar24 && !bVar26) == bVar24;\n            if (!bVar24) {\n              lVar13 = 7;\n              pbVar18 = local_58[0];\n              pbVar19 = (byte *)".zdebug";\n              do {\n                if (lVar13 == 0) break;\n                lVar13 = lVar13 + -1;\n                bVar25 = *pbVar18 < *pbVar19;\n                bVar24 = *pbVar18 == *pbVar19;\n                pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar13 = 0x11;\n                pbVar18 = local_58[0];\n                pbVar19 = (byte *)".gnu.linkonce.wi.";\n                do {\n                  if (lVar13 == 0) break;\n                  lVar13 = lVar13 + -1;\n                  bVar26 = *pbVar18 < *pbVar19;\n                  bVar24 = *pbVar18 == *pbVar19;\n                  pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  lVar13 = 5;\n                  pbVar18 = local_58[0];\n                  pbVar19 = (byte *)".line";\n                  do {\n                    if (lVar13 == 0) break;\n                    lVar13 = lVar13 + -1;\n                    bVar25 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    lVar13 = 5;\n                    pbVar18 = local_58[0];\n                    pbVar19 = (byte *)".stab";\n                    do {\n                      if (lVar13 == 0) break;\n                      lVar13 = lVar13 + -1;\n                      bVar26 = *pbVar18 < *pbVar19;\n                      bVar24 = *pbVar18 == *pbVar19;\n                      pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                      pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      lVar13 = 4;\n                      pbVar18 = local_58[0];\n                      pbVar19 = &DAT_0053357f;\n                      do {\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0030fdc0:\n                    \n            iVar8 = FUN_00397c50(plVar23,uVar17,local_58,&local_78);\n            local_a8 = 0;\n            if (local_78 != '\0') {\n              local_a8 = iVar8 + *(int *)(puVar22 + 2);\n            }\n            iVar8 = 1;\n          }\n          else {\n            if (iVar8 == 1) goto LAB_0030fdc0;\n            if (iVar8 == 3) {\nLAB_0030ff50:\n              lVar13 = param_2[2];\n              if (puVar10 == (undefined8 *)0x0) {\n                    \n                uVar9 = FUN_0039dd50(lVar13,uVar21);\n                uVar11 = gettext(\n                                "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                );\n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9,uVar21);\n              }\n              else {\n                    \n                FUN_004443d0(&local_78,puVar10);\n                uVar9 = CONCAT71(uStack_77,local_78);\n                uVar11 = gettext(\n                                "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                );\n                    \n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9);\n                if ((undefined1 *)CONCAT71(uStack_77,local_78) != auStack_68) {\n                  FUN_0049e340();\n                }\n              }\n                    \n              iVar8 = FUN_0039d3c0(lVar13,uVar21,local_e0,&local_e1);\n              if (iVar8 != 0) {\n                    \n                lVar15 = FUN_00397ec0(lVar13,iVar8,&local_dc);\n                if (local_dc != 0) {\n                    \n                  uVar9 = FUN_0039dd50(lVar13);\n                  uVar11 = gettext("  section group signature: \"%s\"");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n                if (lVar15 != 0) {\n                  uVar9 = *(undefined8 *)(lVar15 + 8);\n                  uVar11 = gettext("  prevailing definition is from %s");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n              }\n              iVar8 = 3;\n            }\n            else {\nLAB_00310006:\n              iVar8 = 2;\n            }\n            local_a8 = 0;\n          }\n          if ((int)local_b8 != 0) {\n                    \n                    \n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\n          local_b8 = CONCAT44(local_b8._4_4_,0xffffffff);\n          if (local_58[0] != abStack_48) {\n            FUN_0049e340();\n          }\n          puVar22 = &local_b8;\n          if (-1 < (long)local_140) goto LAB_0030fae5;\nLAB_0030fe48:\n          uVar9 = gettext("reloc has bad offset %zu");\n                    \n          FUN_0034aed0(param_2,local_148,local_140,uVar9,local_140);\n        }" ({ "{") (if_statement "if ((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))\n          {\nLAB_0030fa33:\n            iVar7 = *(int *)((long)puVar10 + 0x1c);\n            uVar17 = iVar7 - 1;\n            if (0xfffffffd < uVar17) goto LAB_0030fa42;\nLAB_0030fcf0:\n            if (uVar17 == 0xfffffffd) {\n                    \n              FUN_00352af0("../../gold/object.h",0x70d,"set_output_symtab_index");\n            }\n            local_d8 = CONCAT44(local_d8._4_4_,iVar7);\n            goto LAB_0030fa4a;\n          }" (if "if") (parenthesized_expression "((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))" (( "(") (binary_expression "(param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0)" (parenthesized_expression "(param_11 != (long *)0x0)" (( "(") (binary_expression "param_11 != (long *)0x0" (identifier "param_11") (!= "!=") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0)" (( "(") (comma_expression "puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0" (assignment_expression "puVar10 = *(undefined8 **)(*param_11 + local_148 * 8)" (identifier "puVar10") (= "=") (pointer_expression "*(undefined8 **)(*param_11 + local_148 * 8)" (* "*") (cast_expression "(undefined8 **)(*param_11 + local_148 * 8)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_11 + local_148 * 8)" (( "(") (binary_expression "*param_11 + local_148 * 8" (pointer_expression "*param_11" (* "*") (identifier "param_11")) (+ "+") (binary_expression "local_148 * 8" (identifier "local_148") (* "*") (number_literal "8"))) () ")"))))) (, ",") (binary_expression "puVar10 != (undefined8 *)0x0" (identifier "puVar10") (!= "!=") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (compound_statement "{\nLAB_0030fa33:\n            iVar7 = *(int *)((long)puVar10 + 0x1c);\n            uVar17 = iVar7 - 1;\n            if (0xfffffffd < uVar17) goto LAB_0030fa42;\nLAB_0030fcf0:\n            if (uVar17 == 0xfffffffd) {\n                    \n              FUN_00352af0("../../gold/object.h",0x70d,"set_output_symtab_index");\n            }\n            local_d8 = CONCAT44(local_d8._4_4_,iVar7);\n            goto LAB_0030fa4a;\n          }" ({ "{") (labeled_statement "LAB_0030fa33:\n            iVar7 = *(int *)((long)puVar10 + 0x1c);" (statement_identifier "LAB_0030fa33") (: ":") (expression_statement "iVar7 = *(int *)((long)puVar10 + 0x1c);" (assignment_expression "iVar7 = *(int *)((long)puVar10 + 0x1c)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)((long)puVar10 + 0x1c)" (* "*") (cast_expression "(int *)((long)puVar10 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar10 + 0x1c)" (( "(") (binary_expression "(long)puVar10 + 0x1c" (cast_expression "(long)puVar10" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar10")) (+ "+") (number_literal "0x1c")) () ")"))))) (; ";"))) (expression_statement "uVar17 = iVar7 - 1;" (assignment_expression "uVar17 = iVar7 - 1" (identifier "uVar17") (= "=") (binary_expression "iVar7 - 1" (identifier "iVar7") (- "-") (number_literal "1"))) (; ";")) (if_statement "if (0xfffffffd < uVar17) goto LAB_0030fa42;" (if "if") (parenthesized_expression "(0xfffffffd < uVar17)" (( "(") (binary_expression "0xfffffffd < uVar17" (number_literal "0xfffffffd") (< "<") (identifier "uVar17")) () ")")) (goto_statement "goto LAB_0030fa42;" (goto "goto") (statement_identifier "LAB_0030fa42") (; ";"))) (labeled_statement "LAB_0030fcf0:\n            if (uVar17 == 0xfffffffd) {\n                    \n              FUN_00352af0("../../gold/object.h",0x70d,"set_output_symtab_index");\n            }" (statement_identifier "LAB_0030fcf0") (: ":") (if_statement "if (uVar17 == 0xfffffffd) {\n                    \n              FUN_00352af0("../../gold/object.h",0x70d,"set_output_symtab_index");\n            }" (if "if") (parenthesized_expression "(uVar17 == 0xfffffffd)" (( "(") (binary_expression "uVar17 == 0xfffffffd" (identifier "uVar17") (== "==") (number_literal "0xfffffffd")) () ")")) (compound_statement "{\n                    \n              FUN_00352af0("../../gold/object.h",0x70d,"set_output_symtab_index");\n            }" ({ "{") (expression_statement "FUN_00352af0("../../gold/object.h",0x70d,"set_output_symtab_index");" (call_expression "FUN_00352af0("../../gold/object.h",0x70d,"set_output_symtab_index")" (identifier "FUN_00352af0") (argument_list "("../../gold/object.h",0x70d,"set_output_symtab_index")" (( "(") (string_literal ""../../gold/object.h"" (" """) (string_content "../../gold/object.h") (" """)) (, ",") (number_literal "0x70d") (, ",") (string_literal ""set_output_symtab_index"" (" """) (string_content "set_output_symtab_index") (" """)) () ")"))) (; ";")) (} "}")))) (expression_statement "local_d8 = CONCAT44(local_d8._4_4_,iVar7);" (assignment_expression "local_d8 = CONCAT44(local_d8._4_4_,iVar7)" (identifier "local_d8") (= "=") (call_expression "CONCAT44(local_d8._4_4_,iVar7)" (identifier "CONCAT44") (argument_list "(local_d8._4_4_,iVar7)" (( "(") (field_expression "local_d8._4_4_" (identifier "local_d8") (. ".") (field_identifier "_4_4_")) (, ",") (identifier "iVar7") () ")")))) (; ";")) (goto_statement "goto LAB_0030fa4a;" (goto "goto") (statement_identifier "LAB_0030fa4a") (; ";")) (} "}"))) (if_statement "if ((ulong)((plVar23[0x2d] - plVar23[0x2c] >> 3) * -0x5555555555555555) <= (ulong)uVar21)\n          {\n                    \n            FUN_00352af0("../../gold/object.h",0x8c1,"local_symbol");\n          }" (if "if") (parenthesized_expression "((ulong)((plVar23[0x2d] - plVar23[0x2c] >> 3) * -0x5555555555555555) <= (ulong)uVar21)" (( "(") (binary_expression "(ulong)((plVar23[0x2d] - plVar23[0x2c] >> 3) * -0x5555555555555555) <= (ulong)uVar21" (call_expression "(ulong)((plVar23[0x2d] - plVar23[0x2c] >> 3) * -0x5555555555555555)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "((plVar23[0x2d] - plVar23[0x2c] >> 3) * -0x5555555555555555)" (( "(") (binary_expression "(plVar23[0x2d] - plVar23[0x2c] >> 3) * -0x5555555555555555" (parenthesized_expression "(plVar23[0x2d] - plVar23[0x2c] >> 3)" (( "(") (binary_expression "plVar23[0x2d] - plVar23[0x2c] >> 3" (binary_expression "plVar23[0x2d] - plVar23[0x2c]" (subscript_expression "plVar23[0x2d]" (identifier "plVar23") ([ "[") (number_literal "0x2d") (] "]")) (- "-") (subscript_expression "plVar23[0x2c]" (identifier "plVar23") ([ "[") (number_literal "0x2c") (] "]"))) (>> ">>") (number_literal "3")) () ")")) (* "*") (number_literal "-0x5555555555555555")) () ")"))) (<= "<=") (cast_expression "(ulong)uVar21" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar21"))) () ")")) (compound_statement "{\n                    \n            FUN_00352af0("../../gold/object.h",0x8c1,"local_symbol");\n          }" ({ "{") (expression_statement "FUN_00352af0("../../gold/object.h",0x8c1,"local_symbol");" (call_expression "FUN_00352af0("../../gold/object.h",0x8c1,"local_symbol")" (identifier "FUN_00352af0") (argument_list "("../../gold/object.h",0x8c1,"local_symbol")" (( "(") (string_literal ""../../gold/object.h"" (" """) (string_content "../../gold/object.h") (" """)) (, ",") (number_literal "0x8c1") (, ",") (string_literal ""local_symbol"" (" """) (string_content "local_symbol") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "puVar22 = (undefined8 *)(plVar23[0x2c] + (ulong)uVar21 * 0x18);" (assignment_expression "puVar22 = (undefined8 *)(plVar23[0x2c] + (ulong)uVar21 * 0x18)" (identifier "puVar22") (= "=") (cast_expression "(undefined8 *)(plVar23[0x2c] + (ulong)uVar21 * 0x18)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar23[0x2c] + (ulong)uVar21 * 0x18)" (( "(") (binary_expression "plVar23[0x2c] + (ulong)uVar21 * 0x18" (subscript_expression "plVar23[0x2c]" (identifier "plVar23") ([ "[") (number_literal "0x2c") (] "]")) (+ "+") (binary_expression "(ulong)uVar21 * 0x18" (cast_expression "(ulong)uVar21" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar21")) (* "*") (number_literal "0x18"))) () ")")))) (; ";")) (expression_statement "uVar1 = *(uint *)(puVar22 + 1);" (assignment_expression "uVar1 = *(uint *)(puVar22 + 1)" (identifier "uVar1") (= "=") (pointer_expression "*(uint *)(puVar22 + 1)" (* "*") (cast_expression "(uint *)(puVar22 + 1)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + 1)" (( "(") (binary_expression "puVar22 + 1" (identifier "puVar22") (+ "+") (number_literal "1")) () ")"))))) (; ";")) (expression_statement "uVar6 = uVar1 & 0x7ffffff;" (assignment_expression "uVar6 = uVar1 & 0x7ffffff" (identifier "uVar6") (= "=") (binary_expression "uVar1 & 0x7ffffff" (identifier "uVar1") (& "&") (number_literal "0x7ffffff"))) (; ";")) (expression_statement "uVar17 = uVar1 & 0x7ffffff;" (assignment_expression "uVar17 = uVar1 & 0x7ffffff" (identifier "uVar17") (= "=") (binary_expression "uVar1 & 0x7ffffff" (identifier "uVar1") (& "&") (number_literal "0x7ffffff"))) (; ";")) (if_statement "if (((*(byte *)((long)puVar22 + 0xb) & 8) == 0) || (uVar6 == 0)) {\nLAB_0030fbb3:\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }" (if "if") (parenthesized_expression "(((*(byte *)((long)puVar22 + 0xb) & 8) == 0) || (uVar6 == 0))" (( "(") (binary_expression "((*(byte *)((long)puVar22 + 0xb) & 8) == 0) || (uVar6 == 0)" (parenthesized_expression "((*(byte *)((long)puVar22 + 0xb) & 8) == 0)" (( "(") (binary_expression "(*(byte *)((long)puVar22 + 0xb) & 8) == 0" (parenthesized_expression "(*(byte *)((long)puVar22 + 0xb) & 8)" (( "(") (binary_expression "*(byte *)((long)puVar22 + 0xb) & 8" (pointer_expression "*(byte *)((long)puVar22 + 0xb)" (* "*") (cast_expression "(byte *)((long)puVar22 + 0xb)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar22 + 0xb)" (( "(") (binary_expression "(long)puVar22 + 0xb" (cast_expression "(long)puVar22" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar22")) (+ "+") (number_literal "0xb")) () ")")))) (& "&") (number_literal "8")) () ")")) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(uVar6 == 0)" (( "(") (binary_expression "uVar6 == 0" (identifier "uVar6") (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\nLAB_0030fbb3:\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }" ({ "{") (labeled_statement "LAB_0030fbb3:\n            puVar10 = (undefined8 *)0x0;" (statement_identifier "LAB_0030fbb3") (: ":") (expression_statement "puVar10 = (undefined8 *)0x0;" (assignment_expression "puVar10 = (undefined8 *)0x0" (identifier "puVar10") (= "=") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";"))) (goto_statement "goto LAB_0030faa5;" (goto "goto") (statement_identifier "LAB_0030faa5") (; ";")) (} "}"))) (if_statement "if ((ulong)(plVar23[0xb] - plVar23[10] >> 3) <= (ulong)uVar6) {\n                    \n                    \n            FUN_00352af0("../../gold/object.h",0x50b,"is_section_included");\n          }" (if "if") (parenthesized_expression "((ulong)(plVar23[0xb] - plVar23[10] >> 3) <= (ulong)uVar6)" (( "(") (binary_expression "(ulong)(plVar23[0xb] - plVar23[10] >> 3) <= (ulong)uVar6" (call_expression "(ulong)(plVar23[0xb] - plVar23[10] >> 3)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(plVar23[0xb] - plVar23[10] >> 3)" (( "(") (binary_expression "plVar23[0xb] - plVar23[10] >> 3" (binary_expression "plVar23[0xb] - plVar23[10]" (subscript_expression "plVar23[0xb]" (identifier "plVar23") ([ "[") (number_literal "0xb") (] "]")) (- "-") (subscript_expression "plVar23[10]" (identifier "plVar23") ([ "[") (number_literal "10") (] "]"))) (>> ">>") (number_literal "3")) () ")"))) (<= "<=") (cast_expression "(ulong)uVar6" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar6"))) () ")")) (compound_statement "{\n                    \n                    \n            FUN_00352af0("../../gold/object.h",0x50b,"is_section_included");\n          }" ({ "{") (expression_statement "FUN_00352af0("../../gold/object.h",0x50b,"is_section_included");" (call_expression "FUN_00352af0("../../gold/object.h",0x50b,"is_section_included")" (identifier "FUN_00352af0") (argument_list "("../../gold/object.h",0x50b,"is_section_included")" (( "(") (string_literal ""../../gold/object.h"" (" """) (string_content "../../gold/object.h") (" """)) (, ",") (number_literal "0x50b") (, ",") (string_literal ""is_section_included"" (" """) (string_content "is_section_included") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (*(long *)(plVar23[10] + (ulong)uVar6 * 8) != 0) goto LAB_0030fbb3;" (if "if") (parenthesized_expression "(*(long *)(plVar23[10] + (ulong)uVar6 * 8) != 0)" (( "(") (binary_expression "*(long *)(plVar23[10] + (ulong)uVar6 * 8) != 0" (pointer_expression "*(long *)(plVar23[10] + (ulong)uVar6 * 8)" (* "*") (cast_expression "(long *)(plVar23[10] + (ulong)uVar6 * 8)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar23[10] + (ulong)uVar6 * 8)" (( "(") (binary_expression "plVar23[10] + (ulong)uVar6 * 8" (subscript_expression "plVar23[10]" (identifier "plVar23") ([ "[") (number_literal "10") (] "]")) (+ "+") (binary_expression "(ulong)uVar6 * 8" (cast_expression "(ulong)uVar6" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar6")) (* "*") (number_literal "8"))) () ")")))) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0030fbb3;" (goto "goto") (statement_identifier "LAB_0030fbb3") (; ";"))) (expression_statement "cVar4 = FUN_00443530(*param_2,plVar23,uVar1 & 0x7ffffff);" (assignment_expression "cVar4 = FUN_00443530(*param_2,plVar23,uVar1 & 0x7ffffff)" (identifier "cVar4") (= "=") (call_expression "FUN_00443530(*param_2,plVar23,uVar1 & 0x7ffffff)" (identifier "FUN_00443530") (argument_list "(*param_2,plVar23,uVar1 & 0x7ffffff)" (( "(") (pointer_expression "*param_2" (* "*") (identifier "param_2")) (, ",") (identifier "plVar23") (, ",") (binary_expression "uVar1 & 0x7ffffff" (identifier "uVar1") (& "&") (number_literal "0x7ffffff")) () ")")))) (; ";")) (expression_statement "puVar10 = (undefined8 *)0x0;" (assignment_expression "puVar10 = (undefined8 *)0x0" (identifier "puVar10") (= "=") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (cVar4 != '\0') {\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }" (if "if") (parenthesized_expression "(cVar4 != '\0')" (( "(") (binary_expression "cVar4 != '\0'" (identifier "cVar4") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n            puVar10 = (undefined8 *)0x0;\n            goto LAB_0030faa5;\n          }" ({ "{") (expression_statement "puVar10 = (undefined8 *)0x0;" (assignment_expression "puVar10 = (undefined8 *)0x0" (identifier "puVar10") (= "=") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (goto_statement "goto LAB_0030faa5;" (goto "goto") (statement_identifier "LAB_0030faa5") (; ";")) (} "}"))) (labeled_statement "LAB_0030fd25:\n          local_b0 = 0x80000000;" (statement_identifier "LAB_0030fd25") (: ":") (expression_statement "local_b0 = 0x80000000;" (assignment_expression "local_b0 = 0x80000000" (identifier "local_b0") (= "=") (number_literal "0x80000000")) (; ";"))) (expression_statement "local_b8 = 0xffffffff00000000;" (assignment_expression "local_b8 = 0xffffffff00000000" (identifier "local_b8") (= "=") (number_literal "0xffffffff00000000")) (; ";")) (expression_statement "local_a8 = 0;" (assignment_expression "local_a8 = 0" (identifier "local_a8") (= "=") (number_literal "0")) (; ";")) (if_statement "if (*(code **)(*plVar23 + 0x80) == FUN_0022c990) {\n                    \n            FUN_0022c800(local_58,plVar23 + 0x1f);\n          }\n          else {\n                    \n            (**(code **)(*plVar23 + 0x80))(local_58,plVar23,(int)param_2[6]);\n          }" (if "if") (parenthesized_expression "(*(code **)(*plVar23 + 0x80) == FUN_0022c990)" (( "(") (binary_expression "*(code **)(*plVar23 + 0x80) == FUN_0022c990" (pointer_expression "*(code **)(*plVar23 + 0x80)" (* "*") (cast_expression "(code **)(*plVar23 + 0x80)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar23 + 0x80)" (( "(") (binary_expression "*plVar23 + 0x80" (pointer_expression "*plVar23" (* "*") (identifier "plVar23")) (+ "+") (number_literal "0x80")) () ")")))) (== "==") (identifier "FUN_0022c990")) () ")")) (compound_statement "{\n                    \n            FUN_0022c800(local_58,plVar23 + 0x1f);\n          }" ({ "{") (expression_statement "FUN_0022c800(local_58,plVar23 + 0x1f);" (call_expression "FUN_0022c800(local_58,plVar23 + 0x1f)" (identifier "FUN_0022c800") (argument_list "(local_58,plVar23 + 0x1f)" (( "(") (identifier "local_58") (, ",") (binary_expression "plVar23 + 0x1f" (identifier "plVar23") (+ "+") (number_literal "0x1f")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n                    \n            (**(code **)(*plVar23 + 0x80))(local_58,plVar23,(int)param_2[6]);\n          }" (else "else") (compound_statement "{\n                    \n            (**(code **)(*plVar23 + 0x80))(local_58,plVar23,(int)param_2[6]);\n          }" ({ "{") (expression_statement "(**(code **)(*plVar23 + 0x80))(local_58,plVar23,(int)param_2[6]);" (call_expression "(**(code **)(*plVar23 + 0x80))(local_58,plVar23,(int)param_2[6])" (parenthesized_expression "(**(code **)(*plVar23 + 0x80))" (( "(") (pointer_expression "**(code **)(*plVar23 + 0x80)" (* "*") (pointer_expression "*(code **)(*plVar23 + 0x80)" (* "*") (cast_expression "(code **)(*plVar23 + 0x80)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar23 + 0x80)" (( "(") (binary_expression "*plVar23 + 0x80" (pointer_expression "*plVar23" (* "*") (identifier "plVar23")) (+ "+") (number_literal "0x80")) () ")"))))) () ")")) (argument_list "(local_58,plVar23,(int)param_2[6])" (( "(") (identifier "local_58") (, ",") (identifier "plVar23") (, ",") (cast_expression "(int)param_2[6]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "param_2[6]" (identifier "param_2") ([ "[") (number_literal "6") (] "]"))) () ")"))) (; ";")) (} "}")))) (expression_statement "bVar24 = false;" (assignment_expression "bVar24 = false" (identifier "bVar24") (= "=") (false "false")) (; ";")) (expression_statement "bVar26 = iVar8 == 0;" (assignment_expression "bVar26 = iVar8 == 0" (identifier "bVar26") (= "=") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0"))) (; ";")) (if_statement "if (bVar26) {\n            lVar13 = 6;\n            pbVar18 = local_58[0];\n            pbVar19 = &DAT_00533552;\n            do {\n              if (lVar13 == 0) break;\n              lVar13 = lVar13 + -1;\n              bVar24 = *pbVar18 < *pbVar19;\n              bVar26 = *pbVar18 == *pbVar19;\n              pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n              pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n            } while (bVar26);\n            bVar25 = false;\n            bVar24 = (!bVar24 && !bVar26) == bVar24;\n            if (!bVar24) {\n              lVar13 = 7;\n              pbVar18 = local_58[0];\n              pbVar19 = (byte *)".zdebug";\n              do {\n                if (lVar13 == 0) break;\n                lVar13 = lVar13 + -1;\n                bVar25 = *pbVar18 < *pbVar19;\n                bVar24 = *pbVar18 == *pbVar19;\n                pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar13 = 0x11;\n                pbVar18 = local_58[0];\n                pbVar19 = (byte *)".gnu.linkonce.wi.";\n                do {\n                  if (lVar13 == 0) break;\n                  lVar13 = lVar13 + -1;\n                  bVar26 = *pbVar18 < *pbVar19;\n                  bVar24 = *pbVar18 == *pbVar19;\n                  pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  lVar13 = 5;\n                  pbVar18 = local_58[0];\n                  pbVar19 = (byte *)".line";\n                  do {\n                    if (lVar13 == 0) break;\n                    lVar13 = lVar13 + -1;\n                    bVar25 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    lVar13 = 5;\n                    pbVar18 = local_58[0];\n                    pbVar19 = (byte *)".stab";\n                    do {\n                      if (lVar13 == 0) break;\n                      lVar13 = lVar13 + -1;\n                      bVar26 = *pbVar18 < *pbVar19;\n                      bVar24 = *pbVar18 == *pbVar19;\n                      pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                      pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      lVar13 = 4;\n                      pbVar18 = local_58[0];\n                      pbVar19 = &DAT_0053357f;\n                      do {\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0030fdc0:\n                    \n            iVar8 = FUN_00397c50(plVar23,uVar17,local_58,&local_78);\n            local_a8 = 0;\n            if (local_78 != '\0') {\n              local_a8 = iVar8 + *(int *)(puVar22 + 2);\n            }\n            iVar8 = 1;\n          }\n          else {\n            if (iVar8 == 1) goto LAB_0030fdc0;\n            if (iVar8 == 3) {\nLAB_0030ff50:\n              lVar13 = param_2[2];\n              if (puVar10 == (undefined8 *)0x0) {\n                    \n                uVar9 = FUN_0039dd50(lVar13,uVar21);\n                uVar11 = gettext(\n                                "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                );\n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9,uVar21);\n              }\n              else {\n                    \n                FUN_004443d0(&local_78,puVar10);\n                uVar9 = CONCAT71(uStack_77,local_78);\n                uVar11 = gettext(\n                                "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                );\n                    \n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9);\n                if ((undefined1 *)CONCAT71(uStack_77,local_78) != auStack_68) {\n                  FUN_0049e340();\n                }\n              }\n                    \n              iVar8 = FUN_0039d3c0(lVar13,uVar21,local_e0,&local_e1);\n              if (iVar8 != 0) {\n                    \n                lVar15 = FUN_00397ec0(lVar13,iVar8,&local_dc);\n                if (local_dc != 0) {\n                    \n                  uVar9 = FUN_0039dd50(lVar13);\n                  uVar11 = gettext("  section group signature: \"%s\"");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n                if (lVar15 != 0) {\n                  uVar9 = *(undefined8 *)(lVar15 + 8);\n                  uVar11 = gettext("  prevailing definition is from %s");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n              }\n              iVar8 = 3;\n            }\n            else {\nLAB_00310006:\n              iVar8 = 2;\n            }\n            local_a8 = 0;\n          }" (if "if") (parenthesized_expression "(bVar26)" (( "(") (identifier "bVar26") () ")")) (compound_statement "{\n            lVar13 = 6;\n            pbVar18 = local_58[0];\n            pbVar19 = &DAT_00533552;\n            do {\n              if (lVar13 == 0) break;\n              lVar13 = lVar13 + -1;\n              bVar24 = *pbVar18 < *pbVar19;\n              bVar26 = *pbVar18 == *pbVar19;\n              pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n              pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n            } while (bVar26);\n            bVar25 = false;\n            bVar24 = (!bVar24 && !bVar26) == bVar24;\n            if (!bVar24) {\n              lVar13 = 7;\n              pbVar18 = local_58[0];\n              pbVar19 = (byte *)".zdebug";\n              do {\n                if (lVar13 == 0) break;\n                lVar13 = lVar13 + -1;\n                bVar25 = *pbVar18 < *pbVar19;\n                bVar24 = *pbVar18 == *pbVar19;\n                pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar13 = 0x11;\n                pbVar18 = local_58[0];\n                pbVar19 = (byte *)".gnu.linkonce.wi.";\n                do {\n                  if (lVar13 == 0) break;\n                  lVar13 = lVar13 + -1;\n                  bVar26 = *pbVar18 < *pbVar19;\n                  bVar24 = *pbVar18 == *pbVar19;\n                  pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  lVar13 = 5;\n                  pbVar18 = local_58[0];\n                  pbVar19 = (byte *)".line";\n                  do {\n                    if (lVar13 == 0) break;\n                    lVar13 = lVar13 + -1;\n                    bVar25 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    lVar13 = 5;\n                    pbVar18 = local_58[0];\n                    pbVar19 = (byte *)".stab";\n                    do {\n                      if (lVar13 == 0) break;\n                      lVar13 = lVar13 + -1;\n                      bVar26 = *pbVar18 < *pbVar19;\n                      bVar24 = *pbVar18 == *pbVar19;\n                      pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                      pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      lVar13 = 4;\n                      pbVar18 = local_58[0];\n                      pbVar19 = &DAT_0053357f;\n                      do {\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }\n                }\n              }\n            }\nLAB_0030fdc0:\n                    \n            iVar8 = FUN_00397c50(plVar23,uVar17,local_58,&local_78);\n            local_a8 = 0;\n            if (local_78 != '\0') {\n              local_a8 = iVar8 + *(int *)(puVar22 + 2);\n            }\n            iVar8 = 1;\n          }" ({ "{") (expression_statement "lVar13 = 6;" (assignment_expression "lVar13 = 6" (identifier "lVar13") (= "=") (number_literal "6")) (; ";")) (expression_statement "pbVar18 = local_58[0];" (assignment_expression "pbVar18 = local_58[0]" (identifier "pbVar18") (= "=") (subscript_expression "local_58[0]" (identifier "local_58") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "pbVar19 = &DAT_00533552;" (assignment_expression "pbVar19 = &DAT_00533552" (identifier "pbVar19") (= "=") (pointer_expression "&DAT_00533552" (& "&") (identifier "DAT_00533552"))) (; ";")) (do_statement "do {\n              if (lVar13 == 0) break;\n              lVar13 = lVar13 + -1;\n              bVar24 = *pbVar18 < *pbVar19;\n              bVar26 = *pbVar18 == *pbVar19;\n              pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n              pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n            } while (bVar26);" (do "do") (compound_statement "{\n              if (lVar13 == 0) break;\n              lVar13 = lVar13 + -1;\n              bVar24 = *pbVar18 < *pbVar19;\n              bVar26 = *pbVar18 == *pbVar19;\n              pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n              pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n            }" ({ "{") (if_statement "if (lVar13 == 0) break;" (if "if") (parenthesized_expression "(lVar13 == 0)" (( "(") (binary_expression "lVar13 == 0" (identifier "lVar13") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar13 = lVar13 + -1;" (assignment_expression "lVar13 = lVar13 + -1" (identifier "lVar13") (= "=") (binary_expression "lVar13 + -1" (identifier "lVar13") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar24 = *pbVar18 < *pbVar19;" (assignment_expression "bVar24 = *pbVar18 < *pbVar19" (identifier "bVar24") (= "=") (binary_expression "*pbVar18 < *pbVar19" (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")) (< "<") (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19")))) (; ";")) (expression_statement "bVar26 = *pbVar18 == *pbVar19;" (assignment_expression "bVar26 = *pbVar18 == *pbVar19" (identifier "bVar26") (= "=") (binary_expression "*pbVar18 == *pbVar19" (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")) (== "==") (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19")))) (; ";")) (expression_statement "pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1" (identifier "pbVar18") (= "=") (binary_expression "pbVar18 + (ulong)bVar27 * -2 + 1" (binary_expression "pbVar18 + (ulong)bVar27 * -2" (identifier "pbVar18") (+ "+") (binary_expression "(ulong)bVar27 * -2" (cast_expression "(ulong)bVar27" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar27")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;" (assignment_expression "pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1" (identifier "pbVar19") (= "=") (binary_expression "pbVar19 + (ulong)bVar27 * -2 + 1" (binary_expression "pbVar19 + (ulong)bVar27 * -2" (identifier "pbVar19") (+ "+") (binary_expression "(ulong)bVar27 * -2" (cast_expression "(ulong)bVar27" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar27")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar26)" (( "(") (identifier "bVar26") () ")")) (; ";")) (expression_statement "bVar25 = false;" (assignment_expression "bVar25 = false" (identifier "bVar25") (= "=") (false "false")) (; ";")) (expression_statement "bVar24 = (!bVar24 && !bVar26) == bVar24;" (assignment_expression "bVar24 = (!bVar24 && !bVar26) == bVar24" (identifier "bVar24") (= "=") (binary_expression "(!bVar24 && !bVar26) == bVar24" (parenthesized_expression "(!bVar24 && !bVar26)" (( "(") (binary_expression "!bVar24 && !bVar26" (unary_expression "!bVar24" (! "!") (identifier "bVar24")) (&& "&&") (unary_expression "!bVar26" (! "!") (identifier "bVar26"))) () ")")) (== "==") (identifier "bVar24"))) (; ";")) (if_statement "if (!bVar24) {\n              lVar13 = 7;\n              pbVar18 = local_58[0];\n              pbVar19 = (byte *)".zdebug";\n              do {\n                if (lVar13 == 0) break;\n                lVar13 = lVar13 + -1;\n                bVar25 = *pbVar18 < *pbVar19;\n                bVar24 = *pbVar18 == *pbVar19;\n                pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar13 = 0x11;\n                pbVar18 = local_58[0];\n                pbVar19 = (byte *)".gnu.linkonce.wi.";\n                do {\n                  if (lVar13 == 0) break;\n                  lVar13 = lVar13 + -1;\n                  bVar26 = *pbVar18 < *pbVar19;\n                  bVar24 = *pbVar18 == *pbVar19;\n                  pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  lVar13 = 5;\n                  pbVar18 = local_58[0];\n                  pbVar19 = (byte *)".line";\n                  do {\n                    if (lVar13 == 0) break;\n                    lVar13 = lVar13 + -1;\n                    bVar25 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    lVar13 = 5;\n                    pbVar18 = local_58[0];\n                    pbVar19 = (byte *)".stab";\n                    do {\n                      if (lVar13 == 0) break;\n                      lVar13 = lVar13 + -1;\n                      bVar26 = *pbVar18 < *pbVar19;\n                      bVar24 = *pbVar18 == *pbVar19;\n                      pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                      pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      lVar13 = 4;\n                      pbVar18 = local_58[0];\n                      pbVar19 = &DAT_0053357f;\n                      do {\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }\n                }\n              }\n            }" (if "if") (parenthesized_expression "(!bVar24)" (( "(") (unary_expression "!bVar24" (! "!") (identifier "bVar24")) () ")")) (compound_statement "{\n              lVar13 = 7;\n              pbVar18 = local_58[0];\n              pbVar19 = (byte *)".zdebug";\n              do {\n                if (lVar13 == 0) break;\n                lVar13 = lVar13 + -1;\n                bVar25 = *pbVar18 < *pbVar19;\n                bVar24 = *pbVar18 == *pbVar19;\n                pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar13 = 0x11;\n                pbVar18 = local_58[0];\n                pbVar19 = (byte *)".gnu.linkonce.wi.";\n                do {\n                  if (lVar13 == 0) break;\n                  lVar13 = lVar13 + -1;\n                  bVar26 = *pbVar18 < *pbVar19;\n                  bVar24 = *pbVar18 == *pbVar19;\n                  pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  lVar13 = 5;\n                  pbVar18 = local_58[0];\n                  pbVar19 = (byte *)".line";\n                  do {\n                    if (lVar13 == 0) break;\n                    lVar13 = lVar13 + -1;\n                    bVar25 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    lVar13 = 5;\n                    pbVar18 = local_58[0];\n                    pbVar19 = (byte *)".stab";\n                    do {\n                      if (lVar13 == 0) break;\n                      lVar13 = lVar13 + -1;\n                      bVar26 = *pbVar18 < *pbVar19;\n                      bVar24 = *pbVar18 == *pbVar19;\n                      pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                      pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      lVar13 = 4;\n                      pbVar18 = local_58[0];\n                      pbVar19 = &DAT_0053357f;\n                      do {\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }\n                }\n              }\n            }" ({ "{") (expression_statement "lVar13 = 7;" (assignment_expression "lVar13 = 7" (identifier "lVar13") (= "=") (number_literal "7")) (; ";")) (expression_statement "pbVar18 = local_58[0];" (assignment_expression "pbVar18 = local_58[0]" (identifier "pbVar18") (= "=") (subscript_expression "local_58[0]" (identifier "local_58") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "pbVar19 = (byte *)".zdebug";" (assignment_expression "pbVar19 = (byte *)".zdebug"" (identifier "pbVar19") (= "=") (cast_expression "(byte *)".zdebug"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal "".zdebug"" (" """) (string_content ".zdebug") (" """)))) (; ";")) (do_statement "do {\n                if (lVar13 == 0) break;\n                lVar13 = lVar13 + -1;\n                bVar25 = *pbVar18 < *pbVar19;\n                bVar24 = *pbVar18 == *pbVar19;\n                pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);" (do "do") (compound_statement "{\n                if (lVar13 == 0) break;\n                lVar13 = lVar13 + -1;\n                bVar25 = *pbVar18 < *pbVar19;\n                bVar24 = *pbVar18 == *pbVar19;\n                pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n              }" ({ "{") (if_statement "if (lVar13 == 0) break;" (if "if") (parenthesized_expression "(lVar13 == 0)" (( "(") (binary_expression "lVar13 == 0" (identifier "lVar13") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar13 = lVar13 + -1;" (assignment_expression "lVar13 = lVar13 + -1" (identifier "lVar13") (= "=") (binary_expression "lVar13 + -1" (identifier "lVar13") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar25 = *pbVar18 < *pbVar19;" (assignment_expression "bVar25 = *pbVar18 < *pbVar19" (identifier "bVar25") (= "=") (binary_expression "*pbVar18 < *pbVar19" (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")) (< "<") (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19")))) (; ";")) (expression_statement "bVar24 = *pbVar18 == *pbVar19;" (assignment_expression "bVar24 = *pbVar18 == *pbVar19" (identifier "bVar24") (= "=") (binary_expression "*pbVar18 == *pbVar19" (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")) (== "==") (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19")))) (; ";")) (expression_statement "pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1" (identifier "pbVar18") (= "=") (binary_expression "pbVar18 + (ulong)bVar27 * -2 + 1" (binary_expression "pbVar18 + (ulong)bVar27 * -2" (identifier "pbVar18") (+ "+") (binary_expression "(ulong)bVar27 * -2" (cast_expression "(ulong)bVar27" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar27")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;" (assignment_expression "pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1" (identifier "pbVar19") (= "=") (binary_expression "pbVar19 + (ulong)bVar27 * -2 + 1" (binary_expression "pbVar19 + (ulong)bVar27 * -2" (identifier "pbVar19") (+ "+") (binary_expression "(ulong)bVar27 * -2" (cast_expression "(ulong)bVar27" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar27")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar24)" (( "(") (identifier "bVar24") () ")")) (; ";")) (expression_statement "bVar26 = false;" (assignment_expression "bVar26 = false" (identifier "bVar26") (= "=") (false "false")) (; ";")) (expression_statement "bVar24 = (!bVar25 && !bVar24) == bVar25;" (assignment_expression "bVar24 = (!bVar25 && !bVar24) == bVar25" (identifier "bVar24") (= "=") (binary_expression "(!bVar25 && !bVar24) == bVar25" (parenthesized_expression "(!bVar25 && !bVar24)" (( "(") (binary_expression "!bVar25 && !bVar24" (unary_expression "!bVar25" (! "!") (identifier "bVar25")) (&& "&&") (unary_expression "!bVar24" (! "!") (identifier "bVar24"))) () ")")) (== "==") (identifier "bVar25"))) (; ";")) (if_statement "if (!bVar24) {\n                lVar13 = 0x11;\n                pbVar18 = local_58[0];\n                pbVar19 = (byte *)".gnu.linkonce.wi.";\n                do {\n                  if (lVar13 == 0) break;\n                  lVar13 = lVar13 + -1;\n                  bVar26 = *pbVar18 < *pbVar19;\n                  bVar24 = *pbVar18 == *pbVar19;\n                  pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  lVar13 = 5;\n                  pbVar18 = local_58[0];\n                  pbVar19 = (byte *)".line";\n                  do {\n                    if (lVar13 == 0) break;\n                    lVar13 = lVar13 + -1;\n                    bVar25 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    lVar13 = 5;\n                    pbVar18 = local_58[0];\n                    pbVar19 = (byte *)".stab";\n                    do {\n                      if (lVar13 == 0) break;\n                      lVar13 = lVar13 + -1;\n                      bVar26 = *pbVar18 < *pbVar19;\n                      bVar24 = *pbVar18 == *pbVar19;\n                      pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                      pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      lVar13 = 4;\n                      pbVar18 = local_58[0];\n                      pbVar19 = &DAT_0053357f;\n                      do {\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }\n                }\n              }" (if "if") (parenthesized_expression "(!bVar24)" (( "(") (unary_expression "!bVar24" (! "!") (identifier "bVar24")) () ")")) (compound_statement "{\n                lVar13 = 0x11;\n                pbVar18 = local_58[0];\n                pbVar19 = (byte *)".gnu.linkonce.wi.";\n                do {\n                  if (lVar13 == 0) break;\n                  lVar13 = lVar13 + -1;\n                  bVar26 = *pbVar18 < *pbVar19;\n                  bVar24 = *pbVar18 == *pbVar19;\n                  pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar25 = false;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if (!bVar24) {\n                  lVar13 = 5;\n                  pbVar18 = local_58[0];\n                  pbVar19 = (byte *)".line";\n                  do {\n                    if (lVar13 == 0) break;\n                    lVar13 = lVar13 + -1;\n                    bVar25 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    lVar13 = 5;\n                    pbVar18 = local_58[0];\n                    pbVar19 = (byte *)".stab";\n                    do {\n                      if (lVar13 == 0) break;\n                      lVar13 = lVar13 + -1;\n                      bVar26 = *pbVar18 < *pbVar19;\n                      bVar24 = *pbVar18 == *pbVar19;\n                      pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                      pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      lVar13 = 4;\n                      pbVar18 = local_58[0];\n                      pbVar19 = &DAT_0053357f;\n                      do {\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }\n                }\n              }" ({ "{") (expression_statement "lVar13 = 0x11;" (assignment_expression "lVar13 = 0x11" (identifier "lVar13") (= "=") (number_literal "0x11")) (; ";")) (expression_statement "pbVar18 = local_58[0];" (assignment_expression "pbVar18 = local_58[0]" (identifier "pbVar18") (= "=") (subscript_expression "local_58[0]" (identifier "local_58") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "pbVar19 = (byte *)".gnu.linkonce.wi.";" (assignment_expression "pbVar19 = (byte *)".gnu.linkonce.wi."" (identifier "pbVar19") (= "=") (cast_expression "(byte *)".gnu.linkonce.wi."" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal "".gnu.linkonce.wi."" (" """) (string_content ".gnu.linkonce.wi.") (" """)))) (; ";")) (do_statement "do {\n                  if (lVar13 == 0) break;\n                  lVar13 = lVar13 + -1;\n                  bVar26 = *pbVar18 < *pbVar19;\n                  bVar24 = *pbVar18 == *pbVar19;\n                  pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);" (do "do") (compound_statement "{\n                  if (lVar13 == 0) break;\n                  lVar13 = lVar13 + -1;\n                  bVar26 = *pbVar18 < *pbVar19;\n                  bVar24 = *pbVar18 == *pbVar19;\n                  pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                }" ({ "{") (if_statement "if (lVar13 == 0) break;" (if "if") (parenthesized_expression "(lVar13 == 0)" (( "(") (binary_expression "lVar13 == 0" (identifier "lVar13") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar13 = lVar13 + -1;" (assignment_expression "lVar13 = lVar13 + -1" (identifier "lVar13") (= "=") (binary_expression "lVar13 + -1" (identifier "lVar13") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar26 = *pbVar18 < *pbVar19;" (assignment_expression "bVar26 = *pbVar18 < *pbVar19" (identifier "bVar26") (= "=") (binary_expression "*pbVar18 < *pbVar19" (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")) (< "<") (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19")))) (; ";")) (expression_statement "bVar24 = *pbVar18 == *pbVar19;" (assignment_expression "bVar24 = *pbVar18 == *pbVar19" (identifier "bVar24") (= "=") (binary_expression "*pbVar18 == *pbVar19" (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")) (== "==") (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19")))) (; ";")) (expression_statement "pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1" (identifier "pbVar18") (= "=") (binary_expression "pbVar18 + (ulong)bVar27 * -2 + 1" (binary_expression "pbVar18 + (ulong)bVar27 * -2" (identifier "pbVar18") (+ "+") (binary_expression "(ulong)bVar27 * -2" (cast_expression "(ulong)bVar27" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar27")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;" (assignment_expression "pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1" (identifier "pbVar19") (= "=") (binary_expression "pbVar19 + (ulong)bVar27 * -2 + 1" (binary_expression "pbVar19 + (ulong)bVar27 * -2" (identifier "pbVar19") (+ "+") (binary_expression "(ulong)bVar27 * -2" (cast_expression "(ulong)bVar27" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar27")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar24)" (( "(") (identifier "bVar24") () ")")) (; ";")) (expression_statement "bVar25 = false;" (assignment_expression "bVar25 = false" (identifier "bVar25") (= "=") (false "false")) (; ";")) (expression_statement "bVar24 = (!bVar26 && !bVar24) == bVar26;" (assignment_expression "bVar24 = (!bVar26 && !bVar24) == bVar26" (identifier "bVar24") (= "=") (binary_expression "(!bVar26 && !bVar24) == bVar26" (parenthesized_expression "(!bVar26 && !bVar24)" (( "(") (binary_expression "!bVar26 && !bVar24" (unary_expression "!bVar26" (! "!") (identifier "bVar26")) (&& "&&") (unary_expression "!bVar24" (! "!") (identifier "bVar24"))) () ")")) (== "==") (identifier "bVar26"))) (; ";")) (if_statement "if (!bVar24) {\n                  lVar13 = 5;\n                  pbVar18 = local_58[0];\n                  pbVar19 = (byte *)".line";\n                  do {\n                    if (lVar13 == 0) break;\n                    lVar13 = lVar13 + -1;\n                    bVar25 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    lVar13 = 5;\n                    pbVar18 = local_58[0];\n                    pbVar19 = (byte *)".stab";\n                    do {\n                      if (lVar13 == 0) break;\n                      lVar13 = lVar13 + -1;\n                      bVar26 = *pbVar18 < *pbVar19;\n                      bVar24 = *pbVar18 == *pbVar19;\n                      pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                      pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      lVar13 = 4;\n                      pbVar18 = local_58[0];\n                      pbVar19 = &DAT_0053357f;\n                      do {\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }\n                }" (if "if") (parenthesized_expression "(!bVar24)" (( "(") (unary_expression "!bVar24" (! "!") (identifier "bVar24")) () ")")) (compound_statement "{\n                  lVar13 = 5;\n                  pbVar18 = local_58[0];\n                  pbVar19 = (byte *)".line";\n                  do {\n                    if (lVar13 == 0) break;\n                    lVar13 = lVar13 + -1;\n                    bVar25 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  bVar26 = false;\n                  bVar24 = (!bVar25 && !bVar24) == bVar25;\n                  if (!bVar24) {\n                    lVar13 = 5;\n                    pbVar18 = local_58[0];\n                    pbVar19 = (byte *)".stab";\n                    do {\n                      if (lVar13 == 0) break;\n                      lVar13 = lVar13 + -1;\n                      bVar26 = *pbVar18 < *pbVar19;\n                      bVar24 = *pbVar18 == *pbVar19;\n                      pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                      pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      lVar13 = 4;\n                      pbVar18 = local_58[0];\n                      pbVar19 = &DAT_0053357f;\n                      do {\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }\n                }" ({ "{") (expression_statement "lVar13 = 5;" (assignment_expression "lVar13 = 5" (identifier "lVar13") (= "=") (number_literal "5")) (; ";")) (expression_statement "pbVar18 = local_58[0];" (assignment_expression "pbVar18 = local_58[0]" (identifier "pbVar18") (= "=") (subscript_expression "local_58[0]" (identifier "local_58") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "pbVar19 = (byte *)".line";" (assignment_expression "pbVar19 = (byte *)".line"" (identifier "pbVar19") (= "=") (cast_expression "(byte *)".line"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal "".line"" (" """) (string_content ".line") (" """)))) (; ";")) (do_statement "do {\n                    if (lVar13 == 0) break;\n                    lVar13 = lVar13 + -1;\n                    bVar25 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);" (do "do") (compound_statement "{\n                    if (lVar13 == 0) break;\n                    lVar13 = lVar13 + -1;\n                    bVar25 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  }" ({ "{") (if_statement "if (lVar13 == 0) break;" (if "if") (parenthesized_expression "(lVar13 == 0)" (( "(") (binary_expression "lVar13 == 0" (identifier "lVar13") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar13 = lVar13 + -1;" (assignment_expression "lVar13 = lVar13 + -1" (identifier "lVar13") (= "=") (binary_expression "lVar13 + -1" (identifier "lVar13") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar25 = *pbVar18 < *pbVar19;" (assignment_expression "bVar25 = *pbVar18 < *pbVar19" (identifier "bVar25") (= "=") (binary_expression "*pbVar18 < *pbVar19" (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")) (< "<") (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19")))) (; ";")) (expression_statement "bVar24 = *pbVar18 == *pbVar19;" (assignment_expression "bVar24 = *pbVar18 == *pbVar19" (identifier "bVar24") (= "=") (binary_expression "*pbVar18 == *pbVar19" (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")) (== "==") (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19")))) (; ";")) (expression_statement "pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1" (identifier "pbVar18") (= "=") (binary_expression "pbVar18 + (ulong)bVar27 * -2 + 1" (binary_expression "pbVar18 + (ulong)bVar27 * -2" (identifier "pbVar18") (+ "+") (binary_expression "(ulong)bVar27 * -2" (cast_expression "(ulong)bVar27" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar27")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;" (assignment_expression "pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1" (identifier "pbVar19") (= "=") (binary_expression "pbVar19 + (ulong)bVar27 * -2 + 1" (binary_expression "pbVar19 + (ulong)bVar27 * -2" (identifier "pbVar19") (+ "+") (binary_expression "(ulong)bVar27 * -2" (cast_expression "(ulong)bVar27" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar27")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar24)" (( "(") (identifier "bVar24") () ")")) (; ";")) (expression_statement "bVar26 = false;" (assignment_expression "bVar26 = false" (identifier "bVar26") (= "=") (false "false")) (; ";")) (expression_statement "bVar24 = (!bVar25 && !bVar24) == bVar25;" (assignment_expression "bVar24 = (!bVar25 && !bVar24) == bVar25" (identifier "bVar24") (= "=") (binary_expression "(!bVar25 && !bVar24) == bVar25" (parenthesized_expression "(!bVar25 && !bVar24)" (( "(") (binary_expression "!bVar25 && !bVar24" (unary_expression "!bVar25" (! "!") (identifier "bVar25")) (&& "&&") (unary_expression "!bVar24" (! "!") (identifier "bVar24"))) () ")")) (== "==") (identifier "bVar25"))) (; ";")) (if_statement "if (!bVar24) {\n                    lVar13 = 5;\n                    pbVar18 = local_58[0];\n                    pbVar19 = (byte *)".stab";\n                    do {\n                      if (lVar13 == 0) break;\n                      lVar13 = lVar13 + -1;\n                      bVar26 = *pbVar18 < *pbVar19;\n                      bVar24 = *pbVar18 == *pbVar19;\n                      pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                      pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      lVar13 = 4;\n                      pbVar18 = local_58[0];\n                      pbVar19 = &DAT_0053357f;\n                      do {\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }" (if "if") (parenthesized_expression "(!bVar24)" (( "(") (unary_expression "!bVar24" (! "!") (identifier "bVar24")) () ")")) (compound_statement "{\n                    lVar13 = 5;\n                    pbVar18 = local_58[0];\n                    pbVar19 = (byte *)".stab";\n                    do {\n                      if (lVar13 == 0) break;\n                      lVar13 = lVar13 + -1;\n                      bVar26 = *pbVar18 < *pbVar19;\n                      bVar24 = *pbVar18 == *pbVar19;\n                      pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                      pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                    } while (bVar24);\n                    bVar25 = false;\n                    bVar24 = (!bVar26 && !bVar24) == bVar26;\n                    if (!bVar24) {\n                      lVar13 = 4;\n                      pbVar18 = local_58[0];\n                      pbVar19 = &DAT_0053357f;\n                      do {\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }\n                  }" ({ "{") (expression_statement "lVar13 = 5;" (assignment_expression "lVar13 = 5" (identifier "lVar13") (= "=") (number_literal "5")) (; ";")) (expression_statement "pbVar18 = local_58[0];" (assignment_expression "pbVar18 = local_58[0]" (identifier "pbVar18") (= "=") (subscript_expression "local_58[0]" (identifier "local_58") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "pbVar19 = (byte *)".stab";" (assignment_expression "pbVar19 = (byte *)".stab"" (identifier "pbVar19") (= "=") (cast_expression "(byte *)".stab"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal "".stab"" (" """) (string_content ".stab") (" """)))) (; ";")) (do_statement "do {\n                      if (lVar13 == 0) break;\n                      lVar13 = lVar13 + -1;\n                      bVar26 = *pbVar18 < *pbVar19;\n                      bVar24 = *pbVar18 == *pbVar19;\n                      pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                      pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                    } while (bVar24);" (do "do") (compound_statement "{\n                      if (lVar13 == 0) break;\n                      lVar13 = lVar13 + -1;\n                      bVar26 = *pbVar18 < *pbVar19;\n                      bVar24 = *pbVar18 == *pbVar19;\n                      pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                      pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                    }" ({ "{") (if_statement "if (lVar13 == 0) break;" (if "if") (parenthesized_expression "(lVar13 == 0)" (( "(") (binary_expression "lVar13 == 0" (identifier "lVar13") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar13 = lVar13 + -1;" (assignment_expression "lVar13 = lVar13 + -1" (identifier "lVar13") (= "=") (binary_expression "lVar13 + -1" (identifier "lVar13") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar26 = *pbVar18 < *pbVar19;" (assignment_expression "bVar26 = *pbVar18 < *pbVar19" (identifier "bVar26") (= "=") (binary_expression "*pbVar18 < *pbVar19" (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")) (< "<") (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19")))) (; ";")) (expression_statement "bVar24 = *pbVar18 == *pbVar19;" (assignment_expression "bVar24 = *pbVar18 == *pbVar19" (identifier "bVar24") (= "=") (binary_expression "*pbVar18 == *pbVar19" (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")) (== "==") (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19")))) (; ";")) (expression_statement "pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1" (identifier "pbVar18") (= "=") (binary_expression "pbVar18 + (ulong)bVar27 * -2 + 1" (binary_expression "pbVar18 + (ulong)bVar27 * -2" (identifier "pbVar18") (+ "+") (binary_expression "(ulong)bVar27 * -2" (cast_expression "(ulong)bVar27" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar27")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;" (assignment_expression "pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1" (identifier "pbVar19") (= "=") (binary_expression "pbVar19 + (ulong)bVar27 * -2 + 1" (binary_expression "pbVar19 + (ulong)bVar27 * -2" (identifier "pbVar19") (+ "+") (binary_expression "(ulong)bVar27 * -2" (cast_expression "(ulong)bVar27" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar27")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar24)" (( "(") (identifier "bVar24") () ")")) (; ";")) (expression_statement "bVar25 = false;" (assignment_expression "bVar25 = false" (identifier "bVar25") (= "=") (false "false")) (; ";")) (expression_statement "bVar24 = (!bVar26 && !bVar24) == bVar26;" (assignment_expression "bVar24 = (!bVar26 && !bVar24) == bVar26" (identifier "bVar24") (= "=") (binary_expression "(!bVar26 && !bVar24) == bVar26" (parenthesized_expression "(!bVar26 && !bVar24)" (( "(") (binary_expression "!bVar26 && !bVar24" (unary_expression "!bVar26" (! "!") (identifier "bVar26")) (&& "&&") (unary_expression "!bVar24" (! "!") (identifier "bVar24"))) () ")")) (== "==") (identifier "bVar26"))) (; ";")) (if_statement "if (!bVar24) {\n                      lVar13 = 4;\n                      pbVar18 = local_58[0];\n                      pbVar19 = &DAT_0053357f;\n                      do {\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }" (if "if") (parenthesized_expression "(!bVar24)" (( "(") (unary_expression "!bVar24" (! "!") (identifier "bVar24")) () ")")) (compound_statement "{\n                      lVar13 = 4;\n                      pbVar18 = local_58[0];\n                      pbVar19 = &DAT_0053357f;\n                      do {\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      } while (bVar24);\n                      bVar26 = false;\n                      bVar24 = (!bVar25 && !bVar24) == bVar25;\n                      if (!bVar24) {\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }\n                    }" ({ "{") (expression_statement "lVar13 = 4;" (assignment_expression "lVar13 = 4" (identifier "lVar13") (= "=") (number_literal "4")) (; ";")) (expression_statement "pbVar18 = local_58[0];" (assignment_expression "pbVar18 = local_58[0]" (identifier "pbVar18") (= "=") (subscript_expression "local_58[0]" (identifier "local_58") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "pbVar19 = &DAT_0053357f;" (assignment_expression "pbVar19 = &DAT_0053357f" (identifier "pbVar19") (= "=") (pointer_expression "&DAT_0053357f" (& "&") (identifier "DAT_0053357f"))) (; ";")) (do_statement "do {\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      } while (bVar24);" (do "do") (compound_statement "{\n                        if (lVar13 == 0) break;\n                        lVar13 = lVar13 + -1;\n                        bVar25 = *pbVar18 < *pbVar19;\n                        bVar24 = *pbVar18 == *pbVar19;\n                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                      }" ({ "{") (if_statement "if (lVar13 == 0) break;" (if "if") (parenthesized_expression "(lVar13 == 0)" (( "(") (binary_expression "lVar13 == 0" (identifier "lVar13") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar13 = lVar13 + -1;" (assignment_expression "lVar13 = lVar13 + -1" (identifier "lVar13") (= "=") (binary_expression "lVar13 + -1" (identifier "lVar13") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar25 = *pbVar18 < *pbVar19;" (assignment_expression "bVar25 = *pbVar18 < *pbVar19" (identifier "bVar25") (= "=") (binary_expression "*pbVar18 < *pbVar19" (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")) (< "<") (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19")))) (; ";")) (expression_statement "bVar24 = *pbVar18 == *pbVar19;" (assignment_expression "bVar24 = *pbVar18 == *pbVar19" (identifier "bVar24") (= "=") (binary_expression "*pbVar18 == *pbVar19" (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")) (== "==") (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19")))) (; ";")) (expression_statement "pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1" (identifier "pbVar18") (= "=") (binary_expression "pbVar18 + (ulong)bVar27 * -2 + 1" (binary_expression "pbVar18 + (ulong)bVar27 * -2" (identifier "pbVar18") (+ "+") (binary_expression "(ulong)bVar27 * -2" (cast_expression "(ulong)bVar27" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar27")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;" (assignment_expression "pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1" (identifier "pbVar19") (= "=") (binary_expression "pbVar19 + (ulong)bVar27 * -2 + 1" (binary_expression "pbVar19 + (ulong)bVar27 * -2" (identifier "pbVar19") (+ "+") (binary_expression "(ulong)bVar27 * -2" (cast_expression "(ulong)bVar27" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar27")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar24)" (( "(") (identifier "bVar24") () ")")) (; ";")) (expression_statement "bVar26 = false;" (assignment_expression "bVar26 = false" (identifier "bVar26") (= "=") (false "false")) (; ";")) (expression_statement "bVar24 = (!bVar25 && !bVar24) == bVar25;" (assignment_expression "bVar24 = (!bVar25 && !bVar24) == bVar25" (identifier "bVar24") (= "=") (binary_expression "(!bVar25 && !bVar24) == bVar25" (parenthesized_expression "(!bVar25 && !bVar24)" (( "(") (binary_expression "!bVar25 && !bVar24" (unary_expression "!bVar25" (! "!") (identifier "bVar25")) (&& "&&") (unary_expression "!bVar24" (! "!") (identifier "bVar24"))) () ")")) (== "==") (identifier "bVar25"))) (; ";")) (if_statement "if (!bVar24) {\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }" (if "if") (parenthesized_expression "(!bVar24)" (( "(") (unary_expression "!bVar24" (! "!") (identifier "bVar24")) () ")")) (compound_statement "{\n                        lVar13 = 10;\n                        pbVar18 = local_58[0];\n                        pbVar19 = (byte *)".eh_frame";\n                        do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);\n                        bVar25 = false;\n                        bVar24 = (!bVar26 && !bVar24) == bVar26;\n                        if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }\n                        goto LAB_00310006;\n                      }" ({ "{") (expression_statement "lVar13 = 10;" (assignment_expression "lVar13 = 10" (identifier "lVar13") (= "=") (number_literal "10")) (; ";")) (expression_statement "pbVar18 = local_58[0];" (assignment_expression "pbVar18 = local_58[0]" (identifier "pbVar18") (= "=") (subscript_expression "local_58[0]" (identifier "local_58") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "pbVar19 = (byte *)".eh_frame";" (assignment_expression "pbVar19 = (byte *)".eh_frame"" (identifier "pbVar19") (= "=") (cast_expression "(byte *)".eh_frame"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal "".eh_frame"" (" """) (string_content ".eh_frame") (" """)))) (; ";")) (do_statement "do {\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        } while (bVar24);" (do "do") (compound_statement "{\n                          if (lVar13 == 0) break;\n                          lVar13 = lVar13 + -1;\n                          bVar26 = *pbVar18 < *pbVar19;\n                          bVar24 = *pbVar18 == *pbVar19;\n                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                        }" ({ "{") (if_statement "if (lVar13 == 0) break;" (if "if") (parenthesized_expression "(lVar13 == 0)" (( "(") (binary_expression "lVar13 == 0" (identifier "lVar13") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar13 = lVar13 + -1;" (assignment_expression "lVar13 = lVar13 + -1" (identifier "lVar13") (= "=") (binary_expression "lVar13 + -1" (identifier "lVar13") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar26 = *pbVar18 < *pbVar19;" (assignment_expression "bVar26 = *pbVar18 < *pbVar19" (identifier "bVar26") (= "=") (binary_expression "*pbVar18 < *pbVar19" (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")) (< "<") (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19")))) (; ";")) (expression_statement "bVar24 = *pbVar18 == *pbVar19;" (assignment_expression "bVar24 = *pbVar18 == *pbVar19" (identifier "bVar24") (= "=") (binary_expression "*pbVar18 == *pbVar19" (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")) (== "==") (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19")))) (; ";")) (expression_statement "pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1" (identifier "pbVar18") (= "=") (binary_expression "pbVar18 + (ulong)bVar27 * -2 + 1" (binary_expression "pbVar18 + (ulong)bVar27 * -2" (identifier "pbVar18") (+ "+") (binary_expression "(ulong)bVar27 * -2" (cast_expression "(ulong)bVar27" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar27")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;" (assignment_expression "pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1" (identifier "pbVar19") (= "=") (binary_expression "pbVar19 + (ulong)bVar27 * -2 + 1" (binary_expression "pbVar19 + (ulong)bVar27 * -2" (identifier "pbVar19") (+ "+") (binary_expression "(ulong)bVar27 * -2" (cast_expression "(ulong)bVar27" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar27")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar24)" (( "(") (identifier "bVar24") () ")")) (; ";")) (expression_statement "bVar25 = false;" (assignment_expression "bVar25 = false" (identifier "bVar25") (= "=") (false "false")) (; ";")) (expression_statement "bVar24 = (!bVar26 && !bVar24) == bVar26;" (assignment_expression "bVar24 = (!bVar26 && !bVar24) == bVar26" (identifier "bVar24") (= "=") (binary_expression "(!bVar26 && !bVar24) == bVar26" (parenthesized_expression "(!bVar26 && !bVar24)" (( "(") (binary_expression "!bVar26 && !bVar24" (unary_expression "!bVar26" (! "!") (identifier "bVar26")) (&& "&&") (unary_expression "!bVar24" (! "!") (identifier "bVar24"))) () ")")) (== "==") (identifier "bVar26"))) (; ";")) (if_statement "if (!bVar24) {\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }" (if "if") (parenthesized_expression "(!bVar24)" (( "(") (unary_expression "!bVar24" (! "!") (identifier "bVar24")) () ")")) (compound_statement "{\n                          lVar13 = 0x12;\n                          pbVar18 = local_58[0];\n                          pbVar19 = (byte *)".gcc_except_table";\n                          do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);\n                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;\n                        }" ({ "{") (expression_statement "lVar13 = 0x12;" (assignment_expression "lVar13 = 0x12" (identifier "lVar13") (= "=") (number_literal "0x12")) (; ";")) (expression_statement "pbVar18 = local_58[0];" (assignment_expression "pbVar18 = local_58[0]" (identifier "pbVar18") (= "=") (subscript_expression "local_58[0]" (identifier "local_58") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "pbVar19 = (byte *)".gcc_except_table";" (assignment_expression "pbVar19 = (byte *)".gcc_except_table"" (identifier "pbVar19") (= "=") (cast_expression "(byte *)".gcc_except_table"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal "".gcc_except_table"" (" """) (string_content ".gcc_except_table") (" """)))) (; ";")) (do_statement "do {\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          } while (bVar24);" (do "do") (compound_statement "{\n                            if (lVar13 == 0) break;\n                            lVar13 = lVar13 + -1;\n                            bVar25 = *pbVar18 < *pbVar19;\n                            bVar24 = *pbVar18 == *pbVar19;\n                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                          }" ({ "{") (if_statement "if (lVar13 == 0) break;" (if "if") (parenthesized_expression "(lVar13 == 0)" (( "(") (binary_expression "lVar13 == 0" (identifier "lVar13") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar13 = lVar13 + -1;" (assignment_expression "lVar13 = lVar13 + -1" (identifier "lVar13") (= "=") (binary_expression "lVar13 + -1" (identifier "lVar13") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar25 = *pbVar18 < *pbVar19;" (assignment_expression "bVar25 = *pbVar18 < *pbVar19" (identifier "bVar25") (= "=") (binary_expression "*pbVar18 < *pbVar19" (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")) (< "<") (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19")))) (; ";")) (expression_statement "bVar24 = *pbVar18 == *pbVar19;" (assignment_expression "bVar24 = *pbVar18 == *pbVar19" (identifier "bVar24") (= "=") (binary_expression "*pbVar18 == *pbVar19" (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")) (== "==") (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19")))) (; ";")) (expression_statement "pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1" (identifier "pbVar18") (= "=") (binary_expression "pbVar18 + (ulong)bVar27 * -2 + 1" (binary_expression "pbVar18 + (ulong)bVar27 * -2" (identifier "pbVar18") (+ "+") (binary_expression "(ulong)bVar27 * -2" (cast_expression "(ulong)bVar27" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar27")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;" (assignment_expression "pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1" (identifier "pbVar19") (= "=") (binary_expression "pbVar19 + (ulong)bVar27 * -2 + 1" (binary_expression "pbVar19 + (ulong)bVar27 * -2" (identifier "pbVar19") (+ "+") (binary_expression "(ulong)bVar27 * -2" (cast_expression "(ulong)bVar27" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar27")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar24)" (( "(") (identifier "bVar24") () ")")) (; ";")) (if_statement "if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;" (if "if") (parenthesized_expression "((!bVar25 && !bVar24) != bVar25)" (( "(") (binary_expression "(!bVar25 && !bVar24) != bVar25" (parenthesized_expression "(!bVar25 && !bVar24)" (( "(") (binary_expression "!bVar25 && !bVar24" (unary_expression "!bVar25" (! "!") (identifier "bVar25")) (&& "&&") (unary_expression "!bVar24" (! "!") (identifier "bVar24"))) () ")")) (!= "!=") (identifier "bVar25")) () ")")) (goto_statement "goto LAB_0030ff50;" (goto "goto") (statement_identifier "LAB_0030ff50") (; ";"))) (} "}"))) (goto_statement "goto LAB_00310006;" (goto "goto") (statement_identifier "LAB_00310006") (; ";")) (} "}"))) (} "}"))) (} "}"))) (} "}"))) (} "}"))) (} "}"))) (labeled_statement "LAB_0030fdc0:\n                    \n            iVar8 = FUN_00397c50(plVar23,uVar17,local_58,&local_78);" (statement_identifier "LAB_0030fdc0") (: ":") (expression_statement "iVar8 = FUN_00397c50(plVar23,uVar17,local_58,&local_78);" (assignment_expression "iVar8 = FUN_00397c50(plVar23,uVar17,local_58,&local_78)" (identifier "iVar8") (= "=") (call_expression "FUN_00397c50(plVar23,uVar17,local_58,&local_78)" (identifier "FUN_00397c50") (argument_list "(plVar23,uVar17,local_58,&local_78)" (( "(") (identifier "plVar23") (, ",") (identifier "uVar17") (, ",") (identifier "local_58") (, ",") (pointer_expression "&local_78" (& "&") (identifier "local_78")) () ")")))) (; ";"))) (expression_statement "local_a8 = 0;" (assignment_expression "local_a8 = 0" (identifier "local_a8") (= "=") (number_literal "0")) (; ";")) (if_statement "if (local_78 != '\0') {\n              local_a8 = iVar8 + *(int *)(puVar22 + 2);\n            }" (if "if") (parenthesized_expression "(local_78 != '\0')" (( "(") (binary_expression "local_78 != '\0'" (identifier "local_78") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n              local_a8 = iVar8 + *(int *)(puVar22 + 2);\n            }" ({ "{") (expression_statement "local_a8 = iVar8 + *(int *)(puVar22 + 2);" (assignment_expression "local_a8 = iVar8 + *(int *)(puVar22 + 2)" (identifier "local_a8") (= "=") (binary_expression "iVar8 + *(int *)(puVar22 + 2)" (identifier "iVar8") (+ "+") (pointer_expression "*(int *)(puVar22 + 2)" (* "*") (cast_expression "(int *)(puVar22 + 2)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar22 + 2)" (( "(") (binary_expression "puVar22 + 2" (identifier "puVar22") (+ "+") (number_literal "2")) () ")")))))) (; ";")) (} "}"))) (expression_statement "iVar8 = 1;" (assignment_expression "iVar8 = 1" (identifier "iVar8") (= "=") (number_literal "1")) (; ";")) (} "}")) (else_clause "else {\n            if (iVar8 == 1) goto LAB_0030fdc0;\n            if (iVar8 == 3) {\nLAB_0030ff50:\n              lVar13 = param_2[2];\n              if (puVar10 == (undefined8 *)0x0) {\n                    \n                uVar9 = FUN_0039dd50(lVar13,uVar21);\n                uVar11 = gettext(\n                                "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                );\n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9,uVar21);\n              }\n              else {\n                    \n                FUN_004443d0(&local_78,puVar10);\n                uVar9 = CONCAT71(uStack_77,local_78);\n                uVar11 = gettext(\n                                "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                );\n                    \n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9);\n                if ((undefined1 *)CONCAT71(uStack_77,local_78) != auStack_68) {\n                  FUN_0049e340();\n                }\n              }\n                    \n              iVar8 = FUN_0039d3c0(lVar13,uVar21,local_e0,&local_e1);\n              if (iVar8 != 0) {\n                    \n                lVar15 = FUN_00397ec0(lVar13,iVar8,&local_dc);\n                if (local_dc != 0) {\n                    \n                  uVar9 = FUN_0039dd50(lVar13);\n                  uVar11 = gettext("  section group signature: \"%s\"");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n                if (lVar15 != 0) {\n                  uVar9 = *(undefined8 *)(lVar15 + 8);\n                  uVar11 = gettext("  prevailing definition is from %s");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n              }\n              iVar8 = 3;\n            }\n            else {\nLAB_00310006:\n              iVar8 = 2;\n            }\n            local_a8 = 0;\n          }" (else "else") (compound_statement "{\n            if (iVar8 == 1) goto LAB_0030fdc0;\n            if (iVar8 == 3) {\nLAB_0030ff50:\n              lVar13 = param_2[2];\n              if (puVar10 == (undefined8 *)0x0) {\n                    \n                uVar9 = FUN_0039dd50(lVar13,uVar21);\n                uVar11 = gettext(\n                                "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                );\n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9,uVar21);\n              }\n              else {\n                    \n                FUN_004443d0(&local_78,puVar10);\n                uVar9 = CONCAT71(uStack_77,local_78);\n                uVar11 = gettext(\n                                "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                );\n                    \n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9);\n                if ((undefined1 *)CONCAT71(uStack_77,local_78) != auStack_68) {\n                  FUN_0049e340();\n                }\n              }\n                    \n              iVar8 = FUN_0039d3c0(lVar13,uVar21,local_e0,&local_e1);\n              if (iVar8 != 0) {\n                    \n                lVar15 = FUN_00397ec0(lVar13,iVar8,&local_dc);\n                if (local_dc != 0) {\n                    \n                  uVar9 = FUN_0039dd50(lVar13);\n                  uVar11 = gettext("  section group signature: \"%s\"");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n                if (lVar15 != 0) {\n                  uVar9 = *(undefined8 *)(lVar15 + 8);\n                  uVar11 = gettext("  prevailing definition is from %s");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n              }\n              iVar8 = 3;\n            }\n            else {\nLAB_00310006:\n              iVar8 = 2;\n            }\n            local_a8 = 0;\n          }" ({ "{") (if_statement "if (iVar8 == 1) goto LAB_0030fdc0;" (if "if") (parenthesized_expression "(iVar8 == 1)" (( "(") (binary_expression "iVar8 == 1" (identifier "iVar8") (== "==") (number_literal "1")) () ")")) (goto_statement "goto LAB_0030fdc0;" (goto "goto") (statement_identifier "LAB_0030fdc0") (; ";"))) (if_statement "if (iVar8 == 3) {\nLAB_0030ff50:\n              lVar13 = param_2[2];\n              if (puVar10 == (undefined8 *)0x0) {\n                    \n                uVar9 = FUN_0039dd50(lVar13,uVar21);\n                uVar11 = gettext(\n                                "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                );\n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9,uVar21);\n              }\n              else {\n                    \n                FUN_004443d0(&local_78,puVar10);\n                uVar9 = CONCAT71(uStack_77,local_78);\n                uVar11 = gettext(\n                                "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                );\n                    \n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9);\n                if ((undefined1 *)CONCAT71(uStack_77,local_78) != auStack_68) {\n                  FUN_0049e340();\n                }\n              }\n                    \n              iVar8 = FUN_0039d3c0(lVar13,uVar21,local_e0,&local_e1);\n              if (iVar8 != 0) {\n                    \n                lVar15 = FUN_00397ec0(lVar13,iVar8,&local_dc);\n                if (local_dc != 0) {\n                    \n                  uVar9 = FUN_0039dd50(lVar13);\n                  uVar11 = gettext("  section group signature: \"%s\"");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n                if (lVar15 != 0) {\n                  uVar9 = *(undefined8 *)(lVar15 + 8);\n                  uVar11 = gettext("  prevailing definition is from %s");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n              }\n              iVar8 = 3;\n            }\n            else {\nLAB_00310006:\n              iVar8 = 2;\n            }" (if "if") (parenthesized_expression "(iVar8 == 3)" (( "(") (binary_expression "iVar8 == 3" (identifier "iVar8") (== "==") (number_literal "3")) () ")")) (compound_statement "{\nLAB_0030ff50:\n              lVar13 = param_2[2];\n              if (puVar10 == (undefined8 *)0x0) {\n                    \n                uVar9 = FUN_0039dd50(lVar13,uVar21);\n                uVar11 = gettext(\n                                "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                );\n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9,uVar21);\n              }\n              else {\n                    \n                FUN_004443d0(&local_78,puVar10);\n                uVar9 = CONCAT71(uStack_77,local_78);\n                uVar11 = gettext(\n                                "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                );\n                    \n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9);\n                if ((undefined1 *)CONCAT71(uStack_77,local_78) != auStack_68) {\n                  FUN_0049e340();\n                }\n              }\n                    \n              iVar8 = FUN_0039d3c0(lVar13,uVar21,local_e0,&local_e1);\n              if (iVar8 != 0) {\n                    \n                lVar15 = FUN_00397ec0(lVar13,iVar8,&local_dc);\n                if (local_dc != 0) {\n                    \n                  uVar9 = FUN_0039dd50(lVar13);\n                  uVar11 = gettext("  section group signature: \"%s\"");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n                if (lVar15 != 0) {\n                  uVar9 = *(undefined8 *)(lVar15 + 8);\n                  uVar11 = gettext("  prevailing definition is from %s");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n              }\n              iVar8 = 3;\n            }" ({ "{") (labeled_statement "LAB_0030ff50:\n              lVar13 = param_2[2];" (statement_identifier "LAB_0030ff50") (: ":") (expression_statement "lVar13 = param_2[2];" (assignment_expression "lVar13 = param_2[2]" (identifier "lVar13") (= "=") (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]"))) (; ";"))) (if_statement "if (puVar10 == (undefined8 *)0x0) {\n                    \n                uVar9 = FUN_0039dd50(lVar13,uVar21);\n                uVar11 = gettext(\n                                "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                );\n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9,uVar21);\n              }\n              else {\n                    \n                FUN_004443d0(&local_78,puVar10);\n                uVar9 = CONCAT71(uStack_77,local_78);\n                uVar11 = gettext(\n                                "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                );\n                    \n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9);\n                if ((undefined1 *)CONCAT71(uStack_77,local_78) != auStack_68) {\n                  FUN_0049e340();\n                }\n              }" (if "if") (parenthesized_expression "(puVar10 == (undefined8 *)0x0)" (( "(") (binary_expression "puVar10 == (undefined8 *)0x0" (identifier "puVar10") (== "==") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                    \n                uVar9 = FUN_0039dd50(lVar13,uVar21);\n                uVar11 = gettext(\n                                "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                );\n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9,uVar21);\n              }" ({ "{") (expression_statement "uVar9 = FUN_0039dd50(lVar13,uVar21);" (assignment_expression "uVar9 = FUN_0039dd50(lVar13,uVar21)" (identifier "uVar9") (= "=") (call_expression "FUN_0039dd50(lVar13,uVar21)" (identifier "FUN_0039dd50") (argument_list "(lVar13,uVar21)" (( "(") (identifier "lVar13") (, ",") (identifier "uVar21") () ")")))) (; ";")) (expression_statement "uVar11 = gettext(\n                                "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                );" (assignment_expression "uVar11 = gettext(\n                                "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                )" (identifier "uVar11") (= "=") (call_expression "gettext(\n                                "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                )" (identifier "gettext") (argument_list "(\n                                "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"\n                                )" (( "(") (string_literal ""relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"" (" """) (string_content "relocation refers to local symbol ") (escape_sequence "\"") (string_content "%s") (escape_sequence "\"") (string_content " [%u], which is defined in a discarded section") (" """)) () ")")))) (; ";")) (expression_statement "FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9,uVar21);" (call_expression "FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9,uVar21)" (identifier "FUN_0034aed0") (argument_list "(param_2,local_148,local_140,uVar11,uVar9,uVar21)" (( "(") (identifier "param_2") (, ",") (identifier "local_148") (, ",") (identifier "local_140") (, ",") (identifier "uVar11") (, ",") (identifier "uVar9") (, ",") (identifier "uVar21") () ")"))) (; ";")) (} "}")) (else_clause "else {\n                    \n                FUN_004443d0(&local_78,puVar10);\n                uVar9 = CONCAT71(uStack_77,local_78);\n                uVar11 = gettext(\n                                "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                );\n                    \n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9);\n                if ((undefined1 *)CONCAT71(uStack_77,local_78) != auStack_68) {\n                  FUN_0049e340();\n                }\n              }" (else "else") (compound_statement "{\n                    \n                FUN_004443d0(&local_78,puVar10);\n                uVar9 = CONCAT71(uStack_77,local_78);\n                uVar11 = gettext(\n                                "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                );\n                    \n                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9);\n                if ((undefined1 *)CONCAT71(uStack_77,local_78) != auStack_68) {\n                  FUN_0049e340();\n                }\n              }" ({ "{") (expression_statement "FUN_004443d0(&local_78,puVar10);" (call_expression "FUN_004443d0(&local_78,puVar10)" (identifier "FUN_004443d0") (argument_list "(&local_78,puVar10)" (( "(") (pointer_expression "&local_78" (& "&") (identifier "local_78")) (, ",") (identifier "puVar10") () ")"))) (; ";")) (expression_statement "uVar9 = CONCAT71(uStack_77,local_78);" (assignment_expression "uVar9 = CONCAT71(uStack_77,local_78)" (identifier "uVar9") (= "=") (call_expression "CONCAT71(uStack_77,local_78)" (identifier "CONCAT71") (argument_list "(uStack_77,local_78)" (( "(") (identifier "uStack_77") (, ",") (identifier "local_78") () ")")))) (; ";")) (expression_statement "uVar11 = gettext(\n                                "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                );" (assignment_expression "uVar11 = gettext(\n                                "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                )" (identifier "uVar11") (= "=") (call_expression "gettext(\n                                "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                )" (identifier "gettext") (argument_list "(\n                                "relocation refers to global symbol \"%s\", which is defined in a discarded section"\n                                )" (( "(") (string_literal ""relocation refers to global symbol \"%s\", which is defined in a discarded section"" (" """) (string_content "relocation refers to global symbol ") (escape_sequence "\"") (string_content "%s") (escape_sequence "\"") (string_content ", which is defined in a discarded section") (" """)) () ")")))) (; ";")) (expression_statement "FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9);" (call_expression "FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9)" (identifier "FUN_0034aed0") (argument_list "(param_2,local_148,local_140,uVar11,uVar9)" (( "(") (identifier "param_2") (, ",") (identifier "local_148") (, ",") (identifier "local_140") (, ",") (identifier "uVar11") (, ",") (identifier "uVar9") () ")"))) (; ";")) (if_statement "if ((undefined1 *)CONCAT71(uStack_77,local_78) != auStack_68) {\n                  FUN_0049e340();\n                }" (if "if") (parenthesized_expression "((undefined1 *)CONCAT71(uStack_77,local_78) != auStack_68)" (( "(") (binary_expression "(undefined1 *)CONCAT71(uStack_77,local_78) != auStack_68" (cast_expression "(undefined1 *)CONCAT71(uStack_77,local_78)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "CONCAT71(uStack_77,local_78)" (identifier "CONCAT71") (argument_list "(uStack_77,local_78)" (( "(") (identifier "uStack_77") (, ",") (identifier "local_78") () ")")))) (!= "!=") (identifier "auStack_68")) () ")")) (compound_statement "{\n                  FUN_0049e340();\n                }" ({ "{") (expression_statement "FUN_0049e340();" (call_expression "FUN_0049e340()" (identifier "FUN_0049e340") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}")))) (expression_statement "iVar8 = FUN_0039d3c0(lVar13,uVar21,local_e0,&local_e1);" (assignment_expression "iVar8 = FUN_0039d3c0(lVar13,uVar21,local_e0,&local_e1)" (identifier "iVar8") (= "=") (call_expression "FUN_0039d3c0(lVar13,uVar21,local_e0,&local_e1)" (identifier "FUN_0039d3c0") (argument_list "(lVar13,uVar21,local_e0,&local_e1)" (( "(") (identifier "lVar13") (, ",") (identifier "uVar21") (, ",") (identifier "local_e0") (, ",") (pointer_expression "&local_e1" (& "&") (identifier "local_e1")) () ")")))) (; ";")) (if_statement "if (iVar8 != 0) {\n                    \n                lVar15 = FUN_00397ec0(lVar13,iVar8,&local_dc);\n                if (local_dc != 0) {\n                    \n                  uVar9 = FUN_0039dd50(lVar13);\n                  uVar11 = gettext("  section group signature: \"%s\"");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n                if (lVar15 != 0) {\n                  uVar9 = *(undefined8 *)(lVar15 + 8);\n                  uVar11 = gettext("  prevailing definition is from %s");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n              }" (if "if") (parenthesized_expression "(iVar8 != 0)" (( "(") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    \n                lVar15 = FUN_00397ec0(lVar13,iVar8,&local_dc);\n                if (local_dc != 0) {\n                    \n                  uVar9 = FUN_0039dd50(lVar13);\n                  uVar11 = gettext("  section group signature: \"%s\"");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n                if (lVar15 != 0) {\n                  uVar9 = *(undefined8 *)(lVar15 + 8);\n                  uVar11 = gettext("  prevailing definition is from %s");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }\n              }" ({ "{") (expression_statement "lVar15 = FUN_00397ec0(lVar13,iVar8,&local_dc);" (assignment_expression "lVar15 = FUN_00397ec0(lVar13,iVar8,&local_dc)" (identifier "lVar15") (= "=") (call_expression "FUN_00397ec0(lVar13,iVar8,&local_dc)" (identifier "FUN_00397ec0") (argument_list "(lVar13,iVar8,&local_dc)" (( "(") (identifier "lVar13") (, ",") (identifier "iVar8") (, ",") (pointer_expression "&local_dc" (& "&") (identifier "local_dc")) () ")")))) (; ";")) (if_statement "if (local_dc != 0) {\n                    \n                  uVar9 = FUN_0039dd50(lVar13);\n                  uVar11 = gettext("  section group signature: \"%s\"");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }" (if "if") (parenthesized_expression "(local_dc != 0)" (( "(") (binary_expression "local_dc != 0" (identifier "local_dc") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    \n                  uVar9 = FUN_0039dd50(lVar13);\n                  uVar11 = gettext("  section group signature: \"%s\"");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }" ({ "{") (expression_statement "uVar9 = FUN_0039dd50(lVar13);" (assignment_expression "uVar9 = FUN_0039dd50(lVar13)" (identifier "uVar9") (= "=") (call_expression "FUN_0039dd50(lVar13)" (identifier "FUN_0039dd50") (argument_list "(lVar13)" (( "(") (identifier "lVar13") () ")")))) (; ";")) (expression_statement "uVar11 = gettext("  section group signature: \"%s\"");" (assignment_expression "uVar11 = gettext("  section group signature: \"%s\"")" (identifier "uVar11") (= "=") (call_expression "gettext("  section group signature: \"%s\"")" (identifier "gettext") (argument_list "("  section group signature: \"%s\"")" (( "(") (string_literal ""  section group signature: \"%s\""" (" """) (string_content "  section group signature: ") (escape_sequence "\"") (string_content "%s") (escape_sequence "\"") (" """)) () ")")))) (; ";")) (expression_statement "FUN_0034a8b0(uVar11,uVar9);" (call_expression "FUN_0034a8b0(uVar11,uVar9)" (identifier "FUN_0034a8b0") (argument_list "(uVar11,uVar9)" (( "(") (identifier "uVar11") (, ",") (identifier "uVar9") () ")"))) (; ";")) (} "}"))) (if_statement "if (lVar15 != 0) {\n                  uVar9 = *(undefined8 *)(lVar15 + 8);\n                  uVar11 = gettext("  prevailing definition is from %s");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }" (if "if") (parenthesized_expression "(lVar15 != 0)" (( "(") (binary_expression "lVar15 != 0" (identifier "lVar15") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                  uVar9 = *(undefined8 *)(lVar15 + 8);\n                  uVar11 = gettext("  prevailing definition is from %s");\n                  FUN_0034a8b0(uVar11,uVar9);\n                }" ({ "{") (expression_statement "uVar9 = *(undefined8 *)(lVar15 + 8);" (assignment_expression "uVar9 = *(undefined8 *)(lVar15 + 8)" (identifier "uVar9") (= "=") (pointer_expression "*(undefined8 *)(lVar15 + 8)" (* "*") (cast_expression "(undefined8 *)(lVar15 + 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar15 + 8)" (( "(") (binary_expression "lVar15 + 8" (identifier "lVar15") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "uVar11 = gettext("  prevailing definition is from %s");" (assignment_expression "uVar11 = gettext("  prevailing definition is from %s")" (identifier "uVar11") (= "=") (call_expression "gettext("  prevailing definition is from %s")" (identifier "gettext") (argument_list "("  prevailing definition is from %s")" (( "(") (string_literal ""  prevailing definition is from %s"" (" """) (string_content "  prevailing definition is from %s") (" """)) () ")")))) (; ";")) (expression_statement "FUN_0034a8b0(uVar11,uVar9);" (call_expression "FUN_0034a8b0(uVar11,uVar9)" (identifier "FUN_0034a8b0") (argument_list "(uVar11,uVar9)" (( "(") (identifier "uVar11") (, ",") (identifier "uVar9") () ")"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "iVar8 = 3;" (assignment_expression "iVar8 = 3" (identifier "iVar8") (= "=") (number_literal "3")) (; ";")) (} "}")) (else_clause "else {\nLAB_00310006:\n              iVar8 = 2;\n            }" (else "else") (compound_statement "{\nLAB_00310006:\n              iVar8 = 2;\n            }" ({ "{") (labeled_statement "LAB_00310006:\n              iVar8 = 2;" (statement_identifier "LAB_00310006") (: ":") (expression_statement "iVar8 = 2;" (assignment_expression "iVar8 = 2" (identifier "iVar8") (= "=") (number_literal "2")) (; ";"))) (} "}")))) (expression_statement "local_a8 = 0;" (assignment_expression "local_a8 = 0" (identifier "local_a8") (= "=") (number_literal "0")) (; ";")) (} "}")))) (if_statement "if ((int)local_b8 != 0) {\n                    \n                    \n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }" (if "if") (parenthesized_expression "((int)local_b8 != 0)" (( "(") (binary_expression "(int)local_b8 != 0" (cast_expression "(int)local_b8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_b8")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    \n                    \n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }" ({ "{") (expression_statement "FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");" (call_expression "FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry")" (identifier "FUN_00352af0") (argument_list "("../../gold/object.h",0x716,"set_no_output_symtab_entry")" (( "(") (string_literal ""../../gold/object.h"" (" """) (string_content "../../gold/object.h") (" """)) (, ",") (number_literal "0x716") (, ",") (string_literal ""set_no_output_symtab_entry"" (" """) (string_content "set_no_output_symtab_entry") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "local_b8 = CONCAT44(local_b8._4_4_,0xffffffff);" (assignment_expression "local_b8 = CONCAT44(local_b8._4_4_,0xffffffff)" (identifier "local_b8") (= "=") (call_expression "CONCAT44(local_b8._4_4_,0xffffffff)" (identifier "CONCAT44") (argument_list "(local_b8._4_4_,0xffffffff)" (( "(") (field_expression "local_b8._4_4_" (identifier "local_b8") (. ".") (field_identifier "_4_4_")) (, ",") (number_literal "0xffffffff") () ")")))) (; ";")) (if_statement "if (local_58[0] != abStack_48) {\n            FUN_0049e340();\n          }" (if "if") (parenthesized_expression "(local_58[0] != abStack_48)" (( "(") (binary_expression "local_58[0] != abStack_48" (subscript_expression "local_58[0]" (identifier "local_58") ([ "[") (number_literal "0") (] "]")) (!= "!=") (identifier "abStack_48")) () ")")) (compound_statement "{\n            FUN_0049e340();\n          }" ({ "{") (expression_statement "FUN_0049e340();" (call_expression "FUN_0049e340()" (identifier "FUN_0049e340") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "puVar22 = &local_b8;" (assignment_expression "puVar22 = &local_b8" (identifier "puVar22") (= "=") (pointer_expression "&local_b8" (& "&") (identifier "local_b8"))) (; ";")) (if_statement "if (-1 < (long)local_140) goto LAB_0030fae5;" (if "if") (parenthesized_expression "(-1 < (long)local_140)" (( "(") (binary_expression "-1 < (long)local_140" (number_literal "-1") (< "<") (cast_expression "(long)local_140" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_140"))) () ")")) (goto_statement "goto LAB_0030fae5;" (goto "goto") (statement_identifier "LAB_0030fae5") (; ";"))) (labeled_statement "LAB_0030fe48:\n          uVar9 = gettext("reloc has bad offset %zu");" (statement_identifier "LAB_0030fe48") (: ":") (expression_statement "uVar9 = gettext("reloc has bad offset %zu");" (assignment_expression "uVar9 = gettext("reloc has bad offset %zu")" (identifier "uVar9") (= "=") (call_expression "gettext("reloc has bad offset %zu")" (identifier "gettext") (argument_list "("reloc has bad offset %zu")" (( "(") (string_literal ""reloc has bad offset %zu"" (" """) (string_content "reloc has bad offset %zu") (" """)) () ")")))) (; ";"))) (expression_statement "FUN_0034aed0(param_2,local_148,local_140,uVar9,local_140);" (call_expression "FUN_0034aed0(param_2,local_148,local_140,uVar9,local_140)" (identifier "FUN_0034aed0") (argument_list "(param_2,local_148,local_140,uVar9,local_140)" (( "(") (identifier "param_2") (, ",") (identifier "local_148") (, ",") (identifier "local_140") (, ",") (identifier "uVar9") (, ",") (identifier "local_140") () ")"))) (; ";")) (} "}")) (else_clause "else {\n          if ((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))\n          goto LAB_0030fa33;\n          if (uVar21 < *(uint *)(plVar23 + 0x24)) {\nLAB_003107a0:\n                    \n                    \n            FUN_00352af0("../../gold/target-reloc.h",0x17f,"relocate_section");\n          }\n          uVar14 = (ulong)(uVar21 - *(uint *)(plVar23 + 0x24));\n          if ((ulong)(plVar23[0x27] - plVar23[0x26] >> 3) <= uVar14) {\n                    \n            FUN_00352af0("../../gold/object.h",0x8ad,"global_symbol");\n          }\n          puVar10 = *(undefined8 **)(plVar23[0x26] + uVar14 * 8);\n          if (puVar10 == (undefined8 *)0x0) goto LAB_003107a0;\n          if ((*(byte *)((long)puVar10 + 0x3a) & 0x10) == 0) goto LAB_0030fa33;\n                    \n          puVar10 = (undefined8 *)FUN_00443580(*param_2,puVar10);\n          iVar7 = *(int *)((long)puVar10 + 0x1c);\n          uVar17 = iVar7 - 1;\n          if (uVar17 < 0xfffffffe) {\n            if (((int)local_d8 != 0) && ((int)local_d8 != -2)) {\n                    \n                    \n              FUN_00352af0("../../gold/object.h",0x70c,"set_output_symtab_index");\n            }\n            goto LAB_0030fcf0;\n          }\n          if ((int)local_d8 != 0) {\n                    \n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\nLAB_0030fa42:\n          local_d8 = CONCAT44(local_d8._4_4_,0xffffffff);\nLAB_0030fa4a:\n          local_c8 = *(undefined4 *)(puVar10 + 8);\n          if ((*(byte *)(puVar10 + 7) & 0xf) == 6) {\n            local_d0 = local_d0 | 0x20000000;\n          }\n          else if ((*(byte *)(puVar10 + 7) & 0xf) == 10) {\n            local_d0 = local_d0 | 0x40000000;\n          }\n          if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') {\n            if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) {\nLAB_0030fd10:\n                puVar22 = &local_d8;\n                uVar17 = 0;\n                goto LAB_0030fd25;\n              }\n            }\n            else if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 4) goto LAB_0030fd10;\n          }\n          puVar22 = &local_d8;\nLAB_0030faa5:\n          local_b0 = 0x80000000;\n          local_b8 = 0xffffffff00000000;\n          local_a8 = 0;\n          if ((long)local_140 < 0) goto LAB_0030fe48;\nLAB_0030fae5:\n          if ((param_10 <= local_140) || (local_140 + param_8 == 0)) goto LAB_0030fe48;\n          uVar21 = local_120[1];\n          if (uVar21 >> 0x18 != 0) {\n            uVar9 = gettext("Invalid/unrecognized reloc reloc %d.");\n                    \n            FUN_0034a750(uVar9,uVar21 >> 0x18);\n                    \n            FUN_00352af0("../../gold/aarch64-reloc-property.h",0xeb,"code_to_array_index");\n          }\n          if (*DAT_0067dff8 == 0) {\n                    \n            FUN_0031d8d0(local_58,DAT_0067dff8,0);\n            pbVar18 = local_58[0];\n            uVar9 = gettext("cannot relocate %s in object file");\n            uVar21 = *local_120;\n                    \n            FUN_0034aed0(param_2,local_148,\n                         uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18,uVar9,pbVar18);\n            if (local_58[0] != abStack_48) {\n              FUN_0049e340();\n            }\n          }\n          else {\n            plVar3 = (long *)param_2[2];\n            local_90 = 0x80000000;\n            local_98 = 0xffffffff00000000;\n            local_88 = 0;\n            if (puVar10 == (undefined8 *)0x0) {\n              if ((*(byte *)((long)puVar22 + 0xb) & 0x40) != 0) {\n                uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n                    \n                cVar4 = FUN_00397bb0(plVar3,uVar21);\n                if (cVar4 != '\0') {\n                  lVar13 = *(long *)(param_1 + 0x28);\n                  if (lVar13 == 0) {\n                    \n                    FUN_002ed4a0();\n                    goto LAB_003108ca;\n                  }\n                  if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    \n                    \n                    FUN_00352af0("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar9 = *(undefined8 *)(lVar13 + 8);\n                  iVar7 = *(int *)(lVar13 + 0x68);\n                  local_88 = (**(code **)(*plVar3 + 0x150))(plVar3,uVar21);\n                  local_88 = (int)uVar9 + 0x20 + iVar7 * 0x10 + local_88;\n                }\n              }\n            }\n            else {\n                    \n              cVar4 = FUN_00228fa0(puVar10,*(undefined4 *)(*DAT_0067dff8 + 0x4c));\n              if (cVar4 != '\0') {\n                if (*(long *)(param_1 + 0x28) == 0) {\n                    \n                  FUN_002ed4a0();\n                  goto LAB_00310805;\n                }\n                local_88 = FUN_002f9c90(*(long *)(param_1 + 0x28),puVar10);\n              }\n            }\n            FUN_001a5bc0(&local_98);\n          }\n          if (puVar10 != (undefined8 *)0x0) {\n            bVar16 = *(byte *)((long)puVar10 + 0x3a);\n            bVar5 = bVar16 & 7;\n            if ((bVar16 & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) != 0) || ((*(byte *)((long)puVar10 + 0x3b) & 0x20) == 0)) {\n                if (*(code **)(*(long *)puVar10[2] + 0x28) != FUN_001a4aa0) {\n                  lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                  if (lVar13 != 0) {\n                    bVar16 = *(byte *)((long)puVar10 + 0x3a);\n                    bVar5 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar5 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)puVar10 + 0x3b)) goto LAB_00310305;\n                    bVar5 = *(byte *)((long)puVar10 + 0x39);\n                    if ((bVar5 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }\nLAB_0031015a:\n                bVar16 = bVar16 & 7;\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                if ((*(byte *)((long)puVar10 + 0x39) & 3) == 0) goto LAB_003101c0;\nLAB_00310166:\n                if (((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)\n                    ) && ((*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0)))) {\nLAB_00310293:\n                  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_003108ca:\n                    \n                    \n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') {\n                    if (bVar16 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)(puVar10[2] + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }\n                if (bVar5 == 2) {\n                  uVar9 = gettext("hidden");\n                }\n                else if (bVar5 < 3) {\n                  if (bVar5 != 1) {\n                    \n                    FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar9 = gettext("internal");\n                }\n                else {\n                  uVar9 = gettext("protected");\n                }\n                uVar11 = *puVar10;\n                uVar12 = gettext("%s symbol \'%s\' is not defined locally");\n                    \n                FUN_0034a750(uVar12,uVar9,uVar11);\n                goto LAB_003101c0;\n              }\nLAB_0031020c:\n              if ((*(byte *)(puVar10 + 7) >> 4 == 2) || ((*(byte *)((long)puVar10 + 0x3c) & 2) != 0)\n                 ) {\nLAB_00310438:\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_0031043f:\n                if (bVar5 == 0) goto LAB_003101c0;\n                bVar16 = *(byte *)((long)puVar10 + 0x3a) & 7;\n                if (bVar16 != 0) goto LAB_00310270;\n                goto LAB_00310166;\n              }\n              if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\n                    \n                    \n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') goto LAB_00310438;\n              if (*(char *)((long)puVar10 + 0x3b) < '\0') {\n                if (bVar5 != 0) goto LAB_00310260;\nLAB_003105b8:\n                if (*(code **)(*(long *)puVar10[2] + 0x28) == FUN_001a4aa0) goto LAB_0031015a;\n                    \n                lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                if (lVar13 == 0) goto LAB_00310438;\n              }\nLAB_00310305:\n              plVar3 = *(long **)(PTR_DAT_0067cb08 + 0x18);\n              if (plVar3 == (long *)0x0) {\nLAB_00310805:\n                    \n                    \n                FUN_00352af0("../../gold/parameters.h",0x69,"target");\n              }\n              if ((*(code **)(*plVar3 + 0x38) != FUN_001a49e0) &&\n                 (cVar4 = (**(code **)(*plVar3 + 0x38))(plVar3,puVar10), cVar4 != '\0'))\n              goto LAB_00310438;\n              lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar13 == 0) {\n                    \n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              pbVar18 = *(byte **)(lVar13 + 0x6c40);\n              bVar24 = false;\n              bVar26 = pbVar18 == (byte *)0x0;\n              if (bVar26) {\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_003103c9:\n                if ((bVar5 == 2) ||\n                   ((*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0'))))\n                goto LAB_003103e1;\n                goto LAB_0031043f;\n              }\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"ignore-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar24 = *pbVar19 < *pbVar20;\n                bVar26 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar26);\n              bVar25 = false;\n              bVar24 = (!bVar24 && !bVar26) == bVar24;\n              if (bVar24) goto LAB_00310438;\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"report-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar25 = *pbVar19 < *pbVar20;\n                bVar24 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar15 = 0x17;\n                pbVar19 = pbVar18;\n                pbVar20 = (byte *)"ignore-in-object-files";\n                do {\n                  if (lVar15 == 0) break;\n                  lVar15 = lVar15 + -1;\n                  bVar26 = *pbVar19 < *pbVar20;\n                  bVar24 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if ((!bVar24) || (bVar24 = (*(byte *)((long)puVar10 + 0x3b) & 1) == 0, !bVar24)) {\n                  bVar26 = false;\n                  lVar15 = 0x16;\n                  pbVar19 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    if (lVar15 == 0) break;\n                    lVar15 = lVar15 + -1;\n                    bVar26 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  if (((!bVar26 && !bVar24) != bVar26) || (*(char *)((long)puVar10 + 0x3a) < '\0'))\n                  goto LAB_003103c9;\n                }\n                goto LAB_0031043f;\n              }\nLAB_003103e1:\n              FUN_0034b9f0(puVar10,param_2,local_148,local_140);\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            else {\n              if (bVar5 == 4) goto LAB_0031020c;\nLAB_00310260:\n              bVar5 = *(byte *)((long)puVar10 + 0x39);\n              if ((bVar5 & 3) != 0) {\nLAB_0031026d:\n                bVar5 = bVar5 & 3;\n                bVar16 = bVar16 & 7;\nLAB_00310270:\n                if (((bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2)) &&\n                   (bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0)) goto LAB_00310293;\n              }\nLAB_003101c0:\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            if ((bVar16 & 4) != 0) {\n              FUN_00446c20(*param_2 + 0x1e0,puVar10,param_2,local_148,local_140);\n            }\n          }\n        }" (else "else") (compound_statement "{\n          if ((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))\n          goto LAB_0030fa33;\n          if (uVar21 < *(uint *)(plVar23 + 0x24)) {\nLAB_003107a0:\n                    \n                    \n            FUN_00352af0("../../gold/target-reloc.h",0x17f,"relocate_section");\n          }\n          uVar14 = (ulong)(uVar21 - *(uint *)(plVar23 + 0x24));\n          if ((ulong)(plVar23[0x27] - plVar23[0x26] >> 3) <= uVar14) {\n                    \n            FUN_00352af0("../../gold/object.h",0x8ad,"global_symbol");\n          }\n          puVar10 = *(undefined8 **)(plVar23[0x26] + uVar14 * 8);\n          if (puVar10 == (undefined8 *)0x0) goto LAB_003107a0;\n          if ((*(byte *)((long)puVar10 + 0x3a) & 0x10) == 0) goto LAB_0030fa33;\n                    \n          puVar10 = (undefined8 *)FUN_00443580(*param_2,puVar10);\n          iVar7 = *(int *)((long)puVar10 + 0x1c);\n          uVar17 = iVar7 - 1;\n          if (uVar17 < 0xfffffffe) {\n            if (((int)local_d8 != 0) && ((int)local_d8 != -2)) {\n                    \n                    \n              FUN_00352af0("../../gold/object.h",0x70c,"set_output_symtab_index");\n            }\n            goto LAB_0030fcf0;\n          }\n          if ((int)local_d8 != 0) {\n                    \n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }\nLAB_0030fa42:\n          local_d8 = CONCAT44(local_d8._4_4_,0xffffffff);\nLAB_0030fa4a:\n          local_c8 = *(undefined4 *)(puVar10 + 8);\n          if ((*(byte *)(puVar10 + 7) & 0xf) == 6) {\n            local_d0 = local_d0 | 0x20000000;\n          }\n          else if ((*(byte *)(puVar10 + 7) & 0xf) == 10) {\n            local_d0 = local_d0 | 0x40000000;\n          }\n          if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') {\n            if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) {\nLAB_0030fd10:\n                puVar22 = &local_d8;\n                uVar17 = 0;\n                goto LAB_0030fd25;\n              }\n            }\n            else if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 4) goto LAB_0030fd10;\n          }\n          puVar22 = &local_d8;\nLAB_0030faa5:\n          local_b0 = 0x80000000;\n          local_b8 = 0xffffffff00000000;\n          local_a8 = 0;\n          if ((long)local_140 < 0) goto LAB_0030fe48;\nLAB_0030fae5:\n          if ((param_10 <= local_140) || (local_140 + param_8 == 0)) goto LAB_0030fe48;\n          uVar21 = local_120[1];\n          if (uVar21 >> 0x18 != 0) {\n            uVar9 = gettext("Invalid/unrecognized reloc reloc %d.");\n                    \n            FUN_0034a750(uVar9,uVar21 >> 0x18);\n                    \n            FUN_00352af0("../../gold/aarch64-reloc-property.h",0xeb,"code_to_array_index");\n          }\n          if (*DAT_0067dff8 == 0) {\n                    \n            FUN_0031d8d0(local_58,DAT_0067dff8,0);\n            pbVar18 = local_58[0];\n            uVar9 = gettext("cannot relocate %s in object file");\n            uVar21 = *local_120;\n                    \n            FUN_0034aed0(param_2,local_148,\n                         uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18,uVar9,pbVar18);\n            if (local_58[0] != abStack_48) {\n              FUN_0049e340();\n            }\n          }\n          else {\n            plVar3 = (long *)param_2[2];\n            local_90 = 0x80000000;\n            local_98 = 0xffffffff00000000;\n            local_88 = 0;\n            if (puVar10 == (undefined8 *)0x0) {\n              if ((*(byte *)((long)puVar22 + 0xb) & 0x40) != 0) {\n                uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n                    \n                cVar4 = FUN_00397bb0(plVar3,uVar21);\n                if (cVar4 != '\0') {\n                  lVar13 = *(long *)(param_1 + 0x28);\n                  if (lVar13 == 0) {\n                    \n                    FUN_002ed4a0();\n                    goto LAB_003108ca;\n                  }\n                  if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    \n                    \n                    FUN_00352af0("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar9 = *(undefined8 *)(lVar13 + 8);\n                  iVar7 = *(int *)(lVar13 + 0x68);\n                  local_88 = (**(code **)(*plVar3 + 0x150))(plVar3,uVar21);\n                  local_88 = (int)uVar9 + 0x20 + iVar7 * 0x10 + local_88;\n                }\n              }\n            }\n            else {\n                    \n              cVar4 = FUN_00228fa0(puVar10,*(undefined4 *)(*DAT_0067dff8 + 0x4c));\n              if (cVar4 != '\0') {\n                if (*(long *)(param_1 + 0x28) == 0) {\n                    \n                  FUN_002ed4a0();\n                  goto LAB_00310805;\n                }\n                local_88 = FUN_002f9c90(*(long *)(param_1 + 0x28),puVar10);\n              }\n            }\n            FUN_001a5bc0(&local_98);\n          }\n          if (puVar10 != (undefined8 *)0x0) {\n            bVar16 = *(byte *)((long)puVar10 + 0x3a);\n            bVar5 = bVar16 & 7;\n            if ((bVar16 & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) != 0) || ((*(byte *)((long)puVar10 + 0x3b) & 0x20) == 0)) {\n                if (*(code **)(*(long *)puVar10[2] + 0x28) != FUN_001a4aa0) {\n                  lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                  if (lVar13 != 0) {\n                    bVar16 = *(byte *)((long)puVar10 + 0x3a);\n                    bVar5 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar5 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)puVar10 + 0x3b)) goto LAB_00310305;\n                    bVar5 = *(byte *)((long)puVar10 + 0x39);\n                    if ((bVar5 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }\nLAB_0031015a:\n                bVar16 = bVar16 & 7;\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                if ((*(byte *)((long)puVar10 + 0x39) & 3) == 0) goto LAB_003101c0;\nLAB_00310166:\n                if (((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)\n                    ) && ((*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0)))) {\nLAB_00310293:\n                  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_003108ca:\n                    \n                    \n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') {\n                    if (bVar16 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)(puVar10[2] + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }\n                if (bVar5 == 2) {\n                  uVar9 = gettext("hidden");\n                }\n                else if (bVar5 < 3) {\n                  if (bVar5 != 1) {\n                    \n                    FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar9 = gettext("internal");\n                }\n                else {\n                  uVar9 = gettext("protected");\n                }\n                uVar11 = *puVar10;\n                uVar12 = gettext("%s symbol \'%s\' is not defined locally");\n                    \n                FUN_0034a750(uVar12,uVar9,uVar11);\n                goto LAB_003101c0;\n              }\nLAB_0031020c:\n              if ((*(byte *)(puVar10 + 7) >> 4 == 2) || ((*(byte *)((long)puVar10 + 0x3c) & 2) != 0)\n                 ) {\nLAB_00310438:\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_0031043f:\n                if (bVar5 == 0) goto LAB_003101c0;\n                bVar16 = *(byte *)((long)puVar10 + 0x3a) & 7;\n                if (bVar16 != 0) goto LAB_00310270;\n                goto LAB_00310166;\n              }\n              if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\n                    \n                    \n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') goto LAB_00310438;\n              if (*(char *)((long)puVar10 + 0x3b) < '\0') {\n                if (bVar5 != 0) goto LAB_00310260;\nLAB_003105b8:\n                if (*(code **)(*(long *)puVar10[2] + 0x28) == FUN_001a4aa0) goto LAB_0031015a;\n                    \n                lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                if (lVar13 == 0) goto LAB_00310438;\n              }\nLAB_00310305:\n              plVar3 = *(long **)(PTR_DAT_0067cb08 + 0x18);\n              if (plVar3 == (long *)0x0) {\nLAB_00310805:\n                    \n                    \n                FUN_00352af0("../../gold/parameters.h",0x69,"target");\n              }\n              if ((*(code **)(*plVar3 + 0x38) != FUN_001a49e0) &&\n                 (cVar4 = (**(code **)(*plVar3 + 0x38))(plVar3,puVar10), cVar4 != '\0'))\n              goto LAB_00310438;\n              lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar13 == 0) {\n                    \n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              pbVar18 = *(byte **)(lVar13 + 0x6c40);\n              bVar24 = false;\n              bVar26 = pbVar18 == (byte *)0x0;\n              if (bVar26) {\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_003103c9:\n                if ((bVar5 == 2) ||\n                   ((*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0'))))\n                goto LAB_003103e1;\n                goto LAB_0031043f;\n              }\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"ignore-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar24 = *pbVar19 < *pbVar20;\n                bVar26 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar26);\n              bVar25 = false;\n              bVar24 = (!bVar24 && !bVar26) == bVar24;\n              if (bVar24) goto LAB_00310438;\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"report-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar25 = *pbVar19 < *pbVar20;\n                bVar24 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar15 = 0x17;\n                pbVar19 = pbVar18;\n                pbVar20 = (byte *)"ignore-in-object-files";\n                do {\n                  if (lVar15 == 0) break;\n                  lVar15 = lVar15 + -1;\n                  bVar26 = *pbVar19 < *pbVar20;\n                  bVar24 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if ((!bVar24) || (bVar24 = (*(byte *)((long)puVar10 + 0x3b) & 1) == 0, !bVar24)) {\n                  bVar26 = false;\n                  lVar15 = 0x16;\n                  pbVar19 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    if (lVar15 == 0) break;\n                    lVar15 = lVar15 + -1;\n                    bVar26 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  if (((!bVar26 && !bVar24) != bVar26) || (*(char *)((long)puVar10 + 0x3a) < '\0'))\n                  goto LAB_003103c9;\n                }\n                goto LAB_0031043f;\n              }\nLAB_003103e1:\n              FUN_0034b9f0(puVar10,param_2,local_148,local_140);\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            else {\n              if (bVar5 == 4) goto LAB_0031020c;\nLAB_00310260:\n              bVar5 = *(byte *)((long)puVar10 + 0x39);\n              if ((bVar5 & 3) != 0) {\nLAB_0031026d:\n                bVar5 = bVar5 & 3;\n                bVar16 = bVar16 & 7;\nLAB_00310270:\n                if (((bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2)) &&\n                   (bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0)) goto LAB_00310293;\n              }\nLAB_003101c0:\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            if ((bVar16 & 4) != 0) {\n              FUN_00446c20(*param_2 + 0x1e0,puVar10,param_2,local_148,local_140);\n            }\n          }\n        }" ({ "{") (if_statement "if ((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))\n          goto LAB_0030fa33;" (if "if") (parenthesized_expression "((param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))" (( "(") (binary_expression "(param_11 != (long *)0x0) &&\n             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0)" (parenthesized_expression "(param_11 != (long *)0x0)" (( "(") (binary_expression "param_11 != (long *)0x0" (identifier "param_11") (!= "!=") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0)" (( "(") (comma_expression "puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0" (assignment_expression "puVar10 = *(undefined8 **)(*param_11 + local_148 * 8)" (identifier "puVar10") (= "=") (pointer_expression "*(undefined8 **)(*param_11 + local_148 * 8)" (* "*") (cast_expression "(undefined8 **)(*param_11 + local_148 * 8)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*param_11 + local_148 * 8)" (( "(") (binary_expression "*param_11 + local_148 * 8" (pointer_expression "*param_11" (* "*") (identifier "param_11")) (+ "+") (binary_expression "local_148 * 8" (identifier "local_148") (* "*") (number_literal "8"))) () ")"))))) (, ",") (binary_expression "puVar10 != (undefined8 *)0x0" (identifier "puVar10") (!= "!=") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (goto_statement "goto LAB_0030fa33;" (goto "goto") (statement_identifier "LAB_0030fa33") (; ";"))) (if_statement "if (uVar21 < *(uint *)(plVar23 + 0x24)) {\nLAB_003107a0:\n                    \n                    \n            FUN_00352af0("../../gold/target-reloc.h",0x17f,"relocate_section");\n          }" (if "if") (parenthesized_expression "(uVar21 < *(uint *)(plVar23 + 0x24))" (( "(") (binary_expression "uVar21 < *(uint *)(plVar23 + 0x24)" (identifier "uVar21") (< "<") (pointer_expression "*(uint *)(plVar23 + 0x24)" (* "*") (cast_expression "(uint *)(plVar23 + 0x24)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar23 + 0x24)" (( "(") (binary_expression "plVar23 + 0x24" (identifier "plVar23") (+ "+") (number_literal "0x24")) () ")"))))) () ")")) (compound_statement "{\nLAB_003107a0:\n                    \n                    \n            FUN_00352af0("../../gold/target-reloc.h",0x17f,"relocate_section");\n          }" ({ "{") (labeled_statement "LAB_003107a0:\n                    \n                    \n            FUN_00352af0("../../gold/target-reloc.h",0x17f,"relocate_section");" (statement_identifier "LAB_003107a0") (: ":") (expression_statement "FUN_00352af0("../../gold/target-reloc.h",0x17f,"relocate_section");" (call_expression "FUN_00352af0("../../gold/target-reloc.h",0x17f,"relocate_section")" (identifier "FUN_00352af0") (argument_list "("../../gold/target-reloc.h",0x17f,"relocate_section")" (( "(") (string_literal ""../../gold/target-reloc.h"" (" """) (string_content "../../gold/target-reloc.h") (" """)) (, ",") (number_literal "0x17f") (, ",") (string_literal ""relocate_section"" (" """) (string_content "relocate_section") (" """)) () ")"))) (; ";"))) (} "}"))) (expression_statement "uVar14 = (ulong)(uVar21 - *(uint *)(plVar23 + 0x24));" (assignment_expression "uVar14 = (ulong)(uVar21 - *(uint *)(plVar23 + 0x24))" (identifier "uVar14") (= "=") (call_expression "(ulong)(uVar21 - *(uint *)(plVar23 + 0x24))" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar21 - *(uint *)(plVar23 + 0x24))" (( "(") (binary_expression "uVar21 - *(uint *)(plVar23 + 0x24)" (identifier "uVar21") (- "-") (pointer_expression "*(uint *)(plVar23 + 0x24)" (* "*") (cast_expression "(uint *)(plVar23 + 0x24)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar23 + 0x24)" (( "(") (binary_expression "plVar23 + 0x24" (identifier "plVar23") (+ "+") (number_literal "0x24")) () ")"))))) () ")")))) (; ";")) (if_statement "if ((ulong)(plVar23[0x27] - plVar23[0x26] >> 3) <= uVar14) {\n                    \n            FUN_00352af0("../../gold/object.h",0x8ad,"global_symbol");\n          }" (if "if") (parenthesized_expression "((ulong)(plVar23[0x27] - plVar23[0x26] >> 3) <= uVar14)" (( "(") (binary_expression "(ulong)(plVar23[0x27] - plVar23[0x26] >> 3) <= uVar14" (call_expression "(ulong)(plVar23[0x27] - plVar23[0x26] >> 3)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(plVar23[0x27] - plVar23[0x26] >> 3)" (( "(") (binary_expression "plVar23[0x27] - plVar23[0x26] >> 3" (binary_expression "plVar23[0x27] - plVar23[0x26]" (subscript_expression "plVar23[0x27]" (identifier "plVar23") ([ "[") (number_literal "0x27") (] "]")) (- "-") (subscript_expression "plVar23[0x26]" (identifier "plVar23") ([ "[") (number_literal "0x26") (] "]"))) (>> ">>") (number_literal "3")) () ")"))) (<= "<=") (identifier "uVar14")) () ")")) (compound_statement "{\n                    \n            FUN_00352af0("../../gold/object.h",0x8ad,"global_symbol");\n          }" ({ "{") (expression_statement "FUN_00352af0("../../gold/object.h",0x8ad,"global_symbol");" (call_expression "FUN_00352af0("../../gold/object.h",0x8ad,"global_symbol")" (identifier "FUN_00352af0") (argument_list "("../../gold/object.h",0x8ad,"global_symbol")" (( "(") (string_literal ""../../gold/object.h"" (" """) (string_content "../../gold/object.h") (" """)) (, ",") (number_literal "0x8ad") (, ",") (string_literal ""global_symbol"" (" """) (string_content "global_symbol") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "puVar10 = *(undefined8 **)(plVar23[0x26] + uVar14 * 8);" (assignment_expression "puVar10 = *(undefined8 **)(plVar23[0x26] + uVar14 * 8)" (identifier "puVar10") (= "=") (pointer_expression "*(undefined8 **)(plVar23[0x26] + uVar14 * 8)" (* "*") (cast_expression "(undefined8 **)(plVar23[0x26] + uVar14 * 8)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(plVar23[0x26] + uVar14 * 8)" (( "(") (binary_expression "plVar23[0x26] + uVar14 * 8" (subscript_expression "plVar23[0x26]" (identifier "plVar23") ([ "[") (number_literal "0x26") (] "]")) (+ "+") (binary_expression "uVar14 * 8" (identifier "uVar14") (* "*") (number_literal "8"))) () ")"))))) (; ";")) (if_statement "if (puVar10 == (undefined8 *)0x0) goto LAB_003107a0;" (if "if") (parenthesized_expression "(puVar10 == (undefined8 *)0x0)" (( "(") (binary_expression "puVar10 == (undefined8 *)0x0" (identifier "puVar10") (== "==") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_003107a0;" (goto "goto") (statement_identifier "LAB_003107a0") (; ";"))) (if_statement "if ((*(byte *)((long)puVar10 + 0x3a) & 0x10) == 0) goto LAB_0030fa33;" (if "if") (parenthesized_expression "((*(byte *)((long)puVar10 + 0x3a) & 0x10) == 0)" (( "(") (binary_expression "(*(byte *)((long)puVar10 + 0x3a) & 0x10) == 0" (parenthesized_expression "(*(byte *)((long)puVar10 + 0x3a) & 0x10)" (( "(") (binary_expression "*(byte *)((long)puVar10 + 0x3a) & 0x10" (pointer_expression "*(byte *)((long)puVar10 + 0x3a)" (* "*") (cast_expression "(byte *)((long)puVar10 + 0x3a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar10 + 0x3a)" (( "(") (binary_expression "(long)puVar10 + 0x3a" (cast_expression "(long)puVar10" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar10")) (+ "+") (number_literal "0x3a")) () ")")))) (& "&") (number_literal "0x10")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0030fa33;" (goto "goto") (statement_identifier "LAB_0030fa33") (; ";"))) (expression_statement "puVar10 = (undefined8 *)FUN_00443580(*param_2,puVar10);" (assignment_expression "puVar10 = (undefined8 *)FUN_00443580(*param_2,puVar10)" (identifier "puVar10") (= "=") (cast_expression "(undefined8 *)FUN_00443580(*param_2,puVar10)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00443580(*param_2,puVar10)" (identifier "FUN_00443580") (argument_list "(*param_2,puVar10)" (( "(") (pointer_expression "*param_2" (* "*") (identifier "param_2")) (, ",") (identifier "puVar10") () ")"))))) (; ";")) (expression_statement "iVar7 = *(int *)((long)puVar10 + 0x1c);" (assignment_expression "iVar7 = *(int *)((long)puVar10 + 0x1c)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)((long)puVar10 + 0x1c)" (* "*") (cast_expression "(int *)((long)puVar10 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar10 + 0x1c)" (( "(") (binary_expression "(long)puVar10 + 0x1c" (cast_expression "(long)puVar10" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar10")) (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "uVar17 = iVar7 - 1;" (assignment_expression "uVar17 = iVar7 - 1" (identifier "uVar17") (= "=") (binary_expression "iVar7 - 1" (identifier "iVar7") (- "-") (number_literal "1"))) (; ";")) (if_statement "if (uVar17 < 0xfffffffe) {\n            if (((int)local_d8 != 0) && ((int)local_d8 != -2)) {\n                    \n                    \n              FUN_00352af0("../../gold/object.h",0x70c,"set_output_symtab_index");\n            }\n            goto LAB_0030fcf0;\n          }" (if "if") (parenthesized_expression "(uVar17 < 0xfffffffe)" (( "(") (binary_expression "uVar17 < 0xfffffffe" (identifier "uVar17") (< "<") (number_literal "0xfffffffe")) () ")")) (compound_statement "{\n            if (((int)local_d8 != 0) && ((int)local_d8 != -2)) {\n                    \n                    \n              FUN_00352af0("../../gold/object.h",0x70c,"set_output_symtab_index");\n            }\n            goto LAB_0030fcf0;\n          }" ({ "{") (if_statement "if (((int)local_d8 != 0) && ((int)local_d8 != -2)) {\n                    \n                    \n              FUN_00352af0("../../gold/object.h",0x70c,"set_output_symtab_index");\n            }" (if "if") (parenthesized_expression "(((int)local_d8 != 0) && ((int)local_d8 != -2))" (( "(") (binary_expression "((int)local_d8 != 0) && ((int)local_d8 != -2)" (parenthesized_expression "((int)local_d8 != 0)" (( "(") (binary_expression "(int)local_d8 != 0" (cast_expression "(int)local_d8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_d8")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((int)local_d8 != -2)" (( "(") (binary_expression "(int)local_d8 != -2" (cast_expression "(int)local_d8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_d8")) (!= "!=") (number_literal "-2")) () ")"))) () ")")) (compound_statement "{\n                    \n                    \n              FUN_00352af0("../../gold/object.h",0x70c,"set_output_symtab_index");\n            }" ({ "{") (expression_statement "FUN_00352af0("../../gold/object.h",0x70c,"set_output_symtab_index");" (call_expression "FUN_00352af0("../../gold/object.h",0x70c,"set_output_symtab_index")" (identifier "FUN_00352af0") (argument_list "("../../gold/object.h",0x70c,"set_output_symtab_index")" (( "(") (string_literal ""../../gold/object.h"" (" """) (string_content "../../gold/object.h") (" """)) (, ",") (number_literal "0x70c") (, ",") (string_literal ""set_output_symtab_index"" (" """) (string_content "set_output_symtab_index") (" """)) () ")"))) (; ";")) (} "}"))) (goto_statement "goto LAB_0030fcf0;" (goto "goto") (statement_identifier "LAB_0030fcf0") (; ";")) (} "}"))) (if_statement "if ((int)local_d8 != 0) {\n                    \n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }" (if "if") (parenthesized_expression "((int)local_d8 != 0)" (( "(") (binary_expression "(int)local_d8 != 0" (cast_expression "(int)local_d8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_d8")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    \n            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");\n          }" ({ "{") (expression_statement "FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");" (call_expression "FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry")" (identifier "FUN_00352af0") (argument_list "("../../gold/object.h",0x716,"set_no_output_symtab_entry")" (( "(") (string_literal ""../../gold/object.h"" (" """) (string_content "../../gold/object.h") (" """)) (, ",") (number_literal "0x716") (, ",") (string_literal ""set_no_output_symtab_entry"" (" """) (string_content "set_no_output_symtab_entry") (" """)) () ")"))) (; ";")) (} "}"))) (labeled_statement "LAB_0030fa42:\n          local_d8 = CONCAT44(local_d8._4_4_,0xffffffff);" (statement_identifier "LAB_0030fa42") (: ":") (expression_statement "local_d8 = CONCAT44(local_d8._4_4_,0xffffffff);" (assignment_expression "local_d8 = CONCAT44(local_d8._4_4_,0xffffffff)" (identifier "local_d8") (= "=") (call_expression "CONCAT44(local_d8._4_4_,0xffffffff)" (identifier "CONCAT44") (argument_list "(local_d8._4_4_,0xffffffff)" (( "(") (field_expression "local_d8._4_4_" (identifier "local_d8") (. ".") (field_identifier "_4_4_")) (, ",") (number_literal "0xffffffff") () ")")))) (; ";"))) (labeled_statement "LAB_0030fa4a:\n          local_c8 = *(undefined4 *)(puVar10 + 8);" (statement_identifier "LAB_0030fa4a") (: ":") (expression_statement "local_c8 = *(undefined4 *)(puVar10 + 8);" (assignment_expression "local_c8 = *(undefined4 *)(puVar10 + 8)" (identifier "local_c8") (= "=") (pointer_expression "*(undefined4 *)(puVar10 + 8)" (* "*") (cast_expression "(undefined4 *)(puVar10 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 8)" (( "(") (binary_expression "puVar10 + 8" (identifier "puVar10") (+ "+") (number_literal "8")) () ")"))))) (; ";"))) (if_statement "if ((*(byte *)(puVar10 + 7) & 0xf) == 6) {\n            local_d0 = local_d0 | 0x20000000;\n          }\n          else if ((*(byte *)(puVar10 + 7) & 0xf) == 10) {\n            local_d0 = local_d0 | 0x40000000;\n          }" (if "if") (parenthesized_expression "((*(byte *)(puVar10 + 7) & 0xf) == 6)" (( "(") (binary_expression "(*(byte *)(puVar10 + 7) & 0xf) == 6" (parenthesized_expression "(*(byte *)(puVar10 + 7) & 0xf)" (( "(") (binary_expression "*(byte *)(puVar10 + 7) & 0xf" (pointer_expression "*(byte *)(puVar10 + 7)" (* "*") (cast_expression "(byte *)(puVar10 + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 7)" (( "(") (binary_expression "puVar10 + 7" (identifier "puVar10") (+ "+") (number_literal "7")) () ")")))) (& "&") (number_literal "0xf")) () ")")) (== "==") (number_literal "6")) () ")")) (compound_statement "{\n            local_d0 = local_d0 | 0x20000000;\n          }" ({ "{") (expression_statement "local_d0 = local_d0 | 0x20000000;" (assignment_expression "local_d0 = local_d0 | 0x20000000" (identifier "local_d0") (= "=") (binary_expression "local_d0 | 0x20000000" (identifier "local_d0") (| "|") (number_literal "0x20000000"))) (; ";")) (} "}")) (else_clause "else if ((*(byte *)(puVar10 + 7) & 0xf) == 10) {\n            local_d0 = local_d0 | 0x40000000;\n          }" (else "else") (if_statement "if ((*(byte *)(puVar10 + 7) & 0xf) == 10) {\n            local_d0 = local_d0 | 0x40000000;\n          }" (if "if") (parenthesized_expression "((*(byte *)(puVar10 + 7) & 0xf) == 10)" (( "(") (binary_expression "(*(byte *)(puVar10 + 7) & 0xf) == 10" (parenthesized_expression "(*(byte *)(puVar10 + 7) & 0xf)" (( "(") (binary_expression "*(byte *)(puVar10 + 7) & 0xf" (pointer_expression "*(byte *)(puVar10 + 7)" (* "*") (cast_expression "(byte *)(puVar10 + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 7)" (( "(") (binary_expression "puVar10 + 7" (identifier "puVar10") (+ "+") (number_literal "7")) () ")")))) (& "&") (number_literal "0xf")) () ")")) (== "==") (number_literal "10")) () ")")) (compound_statement "{\n            local_d0 = local_d0 | 0x40000000;\n          }" ({ "{") (expression_statement "local_d0 = local_d0 | 0x40000000;" (assignment_expression "local_d0 = local_d0 | 0x40000000" (identifier "local_d0") (= "=") (binary_expression "local_d0 | 0x40000000" (identifier "local_d0") (| "|") (number_literal "0x40000000"))) (; ";")) (} "}"))))) (if_statement "if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') {\n            if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) {\nLAB_0030fd10:\n                puVar22 = &local_d8;\n                uVar17 = 0;\n                goto LAB_0030fd25;\n              }\n            }\n            else if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 4) goto LAB_0030fd10;\n          }" (if "if") (parenthesized_expression "((char)*(byte *)((long)puVar10 + 0x3b) < '\0')" (( "(") (binary_expression "(char)*(byte *)((long)puVar10 + 0x3b) < '\0'" (cast_expression "(char)*(byte *)((long)puVar10 + 0x3b)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (pointer_expression "*(byte *)((long)puVar10 + 0x3b)" (* "*") (cast_expression "(byte *)((long)puVar10 + 0x3b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar10 + 0x3b)" (( "(") (binary_expression "(long)puVar10 + 0x3b" (cast_expression "(long)puVar10" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar10")) (+ "+") (number_literal "0x3b")) () ")"))))) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n            if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) {\nLAB_0030fd10:\n                puVar22 = &local_d8;\n                uVar17 = 0;\n                goto LAB_0030fd25;\n              }\n            }\n            else if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 4) goto LAB_0030fd10;\n          }" ({ "{") (if_statement "if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) {\nLAB_0030fd10:\n                puVar22 = &local_d8;\n                uVar17 = 0;\n                goto LAB_0030fd25;\n              }\n            }\n            else if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 4) goto LAB_0030fd10;" (if "if") (parenthesized_expression "((*(byte *)((long)puVar10 + 0x3a) & 7) == 0)" (( "(") (binary_expression "(*(byte *)((long)puVar10 + 0x3a) & 7) == 0" (parenthesized_expression "(*(byte *)((long)puVar10 + 0x3a) & 7)" (( "(") (binary_expression "*(byte *)((long)puVar10 + 0x3a) & 7" (pointer_expression "*(byte *)((long)puVar10 + 0x3a)" (* "*") (cast_expression "(byte *)((long)puVar10 + 0x3a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar10 + 0x3a)" (( "(") (binary_expression "(long)puVar10 + 0x3a" (cast_expression "(long)puVar10" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar10")) (+ "+") (number_literal "0x3a")) () ")")))) (& "&") (number_literal "7")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              if ((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) {\nLAB_0030fd10:\n                puVar22 = &local_d8;\n                uVar17 = 0;\n                goto LAB_0030fd25;\n              }\n            }" ({ "{") (if_statement "if ((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) {\nLAB_0030fd10:\n                puVar22 = &local_d8;\n                uVar17 = 0;\n                goto LAB_0030fd25;\n              }" (if "if") (parenthesized_expression "((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0))" (( "(") (binary_expression "(*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)" (parenthesized_expression "(*(int *)(puVar10 + 3) == 0)" (( "(") (binary_expression "*(int *)(puVar10 + 3) == 0" (pointer_expression "*(int *)(puVar10 + 3)" (* "*") (cast_expression "(int *)(puVar10 + 3)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 3)" (( "(") (binary_expression "puVar10 + 3" (identifier "puVar10") (+ "+") (number_literal "3")) () ")")))) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)" (( "(") (binary_expression "(*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0" (parenthesized_expression "(*(byte *)((long)puVar10 + 0x3b) & 0x20)" (( "(") (binary_expression "*(byte *)((long)puVar10 + 0x3b) & 0x20" (pointer_expression "*(byte *)((long)puVar10 + 0x3b)" (* "*") (cast_expression "(byte *)((long)puVar10 + 0x3b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar10 + 0x3b)" (( "(") (binary_expression "(long)puVar10 + 0x3b" (cast_expression "(long)puVar10" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar10")) (+ "+") (number_literal "0x3b")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\nLAB_0030fd10:\n                puVar22 = &local_d8;\n                uVar17 = 0;\n                goto LAB_0030fd25;\n              }" ({ "{") (labeled_statement "LAB_0030fd10:\n                puVar22 = &local_d8;" (statement_identifier "LAB_0030fd10") (: ":") (expression_statement "puVar22 = &local_d8;" (assignment_expression "puVar22 = &local_d8" (identifier "puVar22") (= "=") (pointer_expression "&local_d8" (& "&") (identifier "local_d8"))) (; ";"))) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" (identifier "uVar17") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_0030fd25;" (goto "goto") (statement_identifier "LAB_0030fd25") (; ";")) (} "}"))) (} "}")) (else_clause "else if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 4) goto LAB_0030fd10;" (else "else") (if_statement "if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 4) goto LAB_0030fd10;" (if "if") (parenthesized_expression "((*(byte *)((long)puVar10 + 0x3a) & 7) == 4)" (( "(") (binary_expression "(*(byte *)((long)puVar10 + 0x3a) & 7) == 4" (parenthesized_expression "(*(byte *)((long)puVar10 + 0x3a) & 7)" (( "(") (binary_expression "*(byte *)((long)puVar10 + 0x3a) & 7" (pointer_expression "*(byte *)((long)puVar10 + 0x3a)" (* "*") (cast_expression "(byte *)((long)puVar10 + 0x3a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar10 + 0x3a)" (( "(") (binary_expression "(long)puVar10 + 0x3a" (cast_expression "(long)puVar10" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar10")) (+ "+") (number_literal "0x3a")) () ")")))) (& "&") (number_literal "7")) () ")")) (== "==") (number_literal "4")) () ")")) (goto_statement "goto LAB_0030fd10;" (goto "goto") (statement_identifier "LAB_0030fd10") (; ";"))))) (} "}"))) (expression_statement "puVar22 = &local_d8;" (assignment_expression "puVar22 = &local_d8" (identifier "puVar22") (= "=") (pointer_expression "&local_d8" (& "&") (identifier "local_d8"))) (; ";")) (labeled_statement "LAB_0030faa5:\n          local_b0 = 0x80000000;" (statement_identifier "LAB_0030faa5") (: ":") (expression_statement "local_b0 = 0x80000000;" (assignment_expression "local_b0 = 0x80000000" (identifier "local_b0") (= "=") (number_literal "0x80000000")) (; ";"))) (expression_statement "local_b8 = 0xffffffff00000000;" (assignment_expression "local_b8 = 0xffffffff00000000" (identifier "local_b8") (= "=") (number_literal "0xffffffff00000000")) (; ";")) (expression_statement "local_a8 = 0;" (assignment_expression "local_a8 = 0" (identifier "local_a8") (= "=") (number_literal "0")) (; ";")) (if_statement "if ((long)local_140 < 0) goto LAB_0030fe48;" (if "if") (parenthesized_expression "((long)local_140 < 0)" (( "(") (binary_expression "(long)local_140 < 0" (cast_expression "(long)local_140" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_140")) (< "<") (number_literal "0")) () ")")) (goto_statement "goto LAB_0030fe48;" (goto "goto") (statement_identifier "LAB_0030fe48") (; ";"))) (labeled_statement "LAB_0030fae5:\n          if ((param_10 <= local_140) || (local_140 + param_8 == 0)) goto LAB_0030fe48;" (statement_identifier "LAB_0030fae5") (: ":") (if_statement "if ((param_10 <= local_140) || (local_140 + param_8 == 0)) goto LAB_0030fe48;" (if "if") (parenthesized_expression "((param_10 <= local_140) || (local_140 + param_8 == 0))" (( "(") (binary_expression "(param_10 <= local_140) || (local_140 + param_8 == 0)" (parenthesized_expression "(param_10 <= local_140)" (( "(") (binary_expression "param_10 <= local_140" (identifier "param_10") (<= "<=") (identifier "local_140")) () ")")) (|| "||") (parenthesized_expression "(local_140 + param_8 == 0)" (( "(") (binary_expression "local_140 + param_8 == 0" (binary_expression "local_140 + param_8" (identifier "local_140") (+ "+") (identifier "param_8")) (== "==") (number_literal "0")) () ")"))) () ")")) (goto_statement "goto LAB_0030fe48;" (goto "goto") (statement_identifier "LAB_0030fe48") (; ";")))) (expression_statement "uVar21 = local_120[1];" (assignment_expression "uVar21 = local_120[1]" (identifier "uVar21") (= "=") (subscript_expression "local_120[1]" (identifier "local_120") ([ "[") (number_literal "1") (] "]"))) (; ";")) (if_statement "if (uVar21 >> 0x18 != 0) {\n            uVar9 = gettext("Invalid/unrecognized reloc reloc %d.");\n                    \n            FUN_0034a750(uVar9,uVar21 >> 0x18);\n                    \n            FUN_00352af0("../../gold/aarch64-reloc-property.h",0xeb,"code_to_array_index");\n          }" (if "if") (parenthesized_expression "(uVar21 >> 0x18 != 0)" (( "(") (binary_expression "uVar21 >> 0x18 != 0" (binary_expression "uVar21 >> 0x18" (identifier "uVar21") (>> ">>") (number_literal "0x18")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            uVar9 = gettext("Invalid/unrecognized reloc reloc %d.");\n                    \n            FUN_0034a750(uVar9,uVar21 >> 0x18);\n                    \n            FUN_00352af0("../../gold/aarch64-reloc-property.h",0xeb,"code_to_array_index");\n          }" ({ "{") (expression_statement "uVar9 = gettext("Invalid/unrecognized reloc reloc %d.");" (assignment_expression "uVar9 = gettext("Invalid/unrecognized reloc reloc %d.")" (identifier "uVar9") (= "=") (call_expression "gettext("Invalid/unrecognized reloc reloc %d.")" (identifier "gettext") (argument_list "("Invalid/unrecognized reloc reloc %d.")" (( "(") (string_literal ""Invalid/unrecognized reloc reloc %d."" (" """) (string_content "Invalid/unrecognized reloc reloc %d.") (" """)) () ")")))) (; ";")) (expression_statement "FUN_0034a750(uVar9,uVar21 >> 0x18);" (call_expression "FUN_0034a750(uVar9,uVar21 >> 0x18)" (identifier "FUN_0034a750") (argument_list "(uVar9,uVar21 >> 0x18)" (( "(") (identifier "uVar9") (, ",") (binary_expression "uVar21 >> 0x18" (identifier "uVar21") (>> ">>") (number_literal "0x18")) () ")"))) (; ";")) (expression_statement "FUN_00352af0("../../gold/aarch64-reloc-property.h",0xeb,"code_to_array_index");" (call_expression "FUN_00352af0("../../gold/aarch64-reloc-property.h",0xeb,"code_to_array_index")" (identifier "FUN_00352af0") (argument_list "("../../gold/aarch64-reloc-property.h",0xeb,"code_to_array_index")" (( "(") (string_literal ""../../gold/aarch64-reloc-property.h"" (" """) (string_content "../../gold/aarch64-reloc-property.h") (" """)) (, ",") (number_literal "0xeb") (, ",") (string_literal ""code_to_array_index"" (" """) (string_content "code_to_array_index") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (*DAT_0067dff8 == 0) {\n                    \n            FUN_0031d8d0(local_58,DAT_0067dff8,0);\n            pbVar18 = local_58[0];\n            uVar9 = gettext("cannot relocate %s in object file");\n            uVar21 = *local_120;\n                    \n            FUN_0034aed0(param_2,local_148,\n                         uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18,uVar9,pbVar18);\n            if (local_58[0] != abStack_48) {\n              FUN_0049e340();\n            }\n          }\n          else {\n            plVar3 = (long *)param_2[2];\n            local_90 = 0x80000000;\n            local_98 = 0xffffffff00000000;\n            local_88 = 0;\n            if (puVar10 == (undefined8 *)0x0) {\n              if ((*(byte *)((long)puVar22 + 0xb) & 0x40) != 0) {\n                uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n                    \n                cVar4 = FUN_00397bb0(plVar3,uVar21);\n                if (cVar4 != '\0') {\n                  lVar13 = *(long *)(param_1 + 0x28);\n                  if (lVar13 == 0) {\n                    \n                    FUN_002ed4a0();\n                    goto LAB_003108ca;\n                  }\n                  if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    \n                    \n                    FUN_00352af0("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar9 = *(undefined8 *)(lVar13 + 8);\n                  iVar7 = *(int *)(lVar13 + 0x68);\n                  local_88 = (**(code **)(*plVar3 + 0x150))(plVar3,uVar21);\n                  local_88 = (int)uVar9 + 0x20 + iVar7 * 0x10 + local_88;\n                }\n              }\n            }\n            else {\n                    \n              cVar4 = FUN_00228fa0(puVar10,*(undefined4 *)(*DAT_0067dff8 + 0x4c));\n              if (cVar4 != '\0') {\n                if (*(long *)(param_1 + 0x28) == 0) {\n                    \n                  FUN_002ed4a0();\n                  goto LAB_00310805;\n                }\n                local_88 = FUN_002f9c90(*(long *)(param_1 + 0x28),puVar10);\n              }\n            }\n            FUN_001a5bc0(&local_98);\n          }" (if "if") (parenthesized_expression "(*DAT_0067dff8 == 0)" (( "(") (binary_expression "*DAT_0067dff8 == 0" (pointer_expression "*DAT_0067dff8" (* "*") (identifier "DAT_0067dff8")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n            FUN_0031d8d0(local_58,DAT_0067dff8,0);\n            pbVar18 = local_58[0];\n            uVar9 = gettext("cannot relocate %s in object file");\n            uVar21 = *local_120;\n                    \n            FUN_0034aed0(param_2,local_148,\n                         uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18,uVar9,pbVar18);\n            if (local_58[0] != abStack_48) {\n              FUN_0049e340();\n            }\n          }" ({ "{") (expression_statement "FUN_0031d8d0(local_58,DAT_0067dff8,0);" (call_expression "FUN_0031d8d0(local_58,DAT_0067dff8,0)" (identifier "FUN_0031d8d0") (argument_list "(local_58,DAT_0067dff8,0)" (( "(") (identifier "local_58") (, ",") (identifier "DAT_0067dff8") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "pbVar18 = local_58[0];" (assignment_expression "pbVar18 = local_58[0]" (identifier "pbVar18") (= "=") (subscript_expression "local_58[0]" (identifier "local_58") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "uVar9 = gettext("cannot relocate %s in object file");" (assignment_expression "uVar9 = gettext("cannot relocate %s in object file")" (identifier "uVar9") (= "=") (call_expression "gettext("cannot relocate %s in object file")" (identifier "gettext") (argument_list "("cannot relocate %s in object file")" (( "(") (string_literal ""cannot relocate %s in object file"" (" """) (string_content "cannot relocate %s in object file") (" """)) () ")")))) (; ";")) (expression_statement "uVar21 = *local_120;" (assignment_expression "uVar21 = *local_120" (identifier "uVar21") (= "=") (pointer_expression "*local_120" (* "*") (identifier "local_120"))) (; ";")) (expression_statement "FUN_0034aed0(param_2,local_148,\n                         uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18,uVar9,pbVar18);" (call_expression "FUN_0034aed0(param_2,local_148,\n                         uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18,uVar9,pbVar18)" (identifier "FUN_0034aed0") (argument_list "(param_2,local_148,\n                         uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18,uVar9,pbVar18)" (( "(") (identifier "param_2") (, ",") (identifier "local_148") (, ",") (binary_expression "uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |\n                         uVar21 << 0x18" (binary_expression "uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8" (binary_expression "uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8" (binary_expression "uVar21 >> 0x18" (identifier "uVar21") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar21 & 0xff0000) >> 8" (parenthesized_expression "(uVar21 & 0xff0000)" (( "(") (binary_expression "uVar21 & 0xff0000" (identifier "uVar21") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar21 & 0xff00) << 8" (parenthesized_expression "(uVar21 & 0xff00)" (( "(") (binary_expression "uVar21 & 0xff00" (identifier "uVar21") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar21 << 0x18" (identifier "uVar21") (<< "<<") (number_literal "0x18"))) (, ",") (identifier "uVar9") (, ",") (identifier "pbVar18") () ")"))) (; ";")) (if_statement "if (local_58[0] != abStack_48) {\n              FUN_0049e340();\n            }" (if "if") (parenthesized_expression "(local_58[0] != abStack_48)" (( "(") (binary_expression "local_58[0] != abStack_48" (subscript_expression "local_58[0]" (identifier "local_58") ([ "[") (number_literal "0") (] "]")) (!= "!=") (identifier "abStack_48")) () ")")) (compound_statement "{\n              FUN_0049e340();\n            }" ({ "{") (expression_statement "FUN_0049e340();" (call_expression "FUN_0049e340()" (identifier "FUN_0049e340") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n            plVar3 = (long *)param_2[2];\n            local_90 = 0x80000000;\n            local_98 = 0xffffffff00000000;\n            local_88 = 0;\n            if (puVar10 == (undefined8 *)0x0) {\n              if ((*(byte *)((long)puVar22 + 0xb) & 0x40) != 0) {\n                uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n                    \n                cVar4 = FUN_00397bb0(plVar3,uVar21);\n                if (cVar4 != '\0') {\n                  lVar13 = *(long *)(param_1 + 0x28);\n                  if (lVar13 == 0) {\n                    \n                    FUN_002ed4a0();\n                    goto LAB_003108ca;\n                  }\n                  if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    \n                    \n                    FUN_00352af0("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar9 = *(undefined8 *)(lVar13 + 8);\n                  iVar7 = *(int *)(lVar13 + 0x68);\n                  local_88 = (**(code **)(*plVar3 + 0x150))(plVar3,uVar21);\n                  local_88 = (int)uVar9 + 0x20 + iVar7 * 0x10 + local_88;\n                }\n              }\n            }\n            else {\n                    \n              cVar4 = FUN_00228fa0(puVar10,*(undefined4 *)(*DAT_0067dff8 + 0x4c));\n              if (cVar4 != '\0') {\n                if (*(long *)(param_1 + 0x28) == 0) {\n                    \n                  FUN_002ed4a0();\n                  goto LAB_00310805;\n                }\n                local_88 = FUN_002f9c90(*(long *)(param_1 + 0x28),puVar10);\n              }\n            }\n            FUN_001a5bc0(&local_98);\n          }" (else "else") (compound_statement "{\n            plVar3 = (long *)param_2[2];\n            local_90 = 0x80000000;\n            local_98 = 0xffffffff00000000;\n            local_88 = 0;\n            if (puVar10 == (undefined8 *)0x0) {\n              if ((*(byte *)((long)puVar22 + 0xb) & 0x40) != 0) {\n                uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n                    \n                cVar4 = FUN_00397bb0(plVar3,uVar21);\n                if (cVar4 != '\0') {\n                  lVar13 = *(long *)(param_1 + 0x28);\n                  if (lVar13 == 0) {\n                    \n                    FUN_002ed4a0();\n                    goto LAB_003108ca;\n                  }\n                  if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    \n                    \n                    FUN_00352af0("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar9 = *(undefined8 *)(lVar13 + 8);\n                  iVar7 = *(int *)(lVar13 + 0x68);\n                  local_88 = (**(code **)(*plVar3 + 0x150))(plVar3,uVar21);\n                  local_88 = (int)uVar9 + 0x20 + iVar7 * 0x10 + local_88;\n                }\n              }\n            }\n            else {\n                    \n              cVar4 = FUN_00228fa0(puVar10,*(undefined4 *)(*DAT_0067dff8 + 0x4c));\n              if (cVar4 != '\0') {\n                if (*(long *)(param_1 + 0x28) == 0) {\n                    \n                  FUN_002ed4a0();\n                  goto LAB_00310805;\n                }\n                local_88 = FUN_002f9c90(*(long *)(param_1 + 0x28),puVar10);\n              }\n            }\n            FUN_001a5bc0(&local_98);\n          }" ({ "{") (expression_statement "plVar3 = (long *)param_2[2];" (assignment_expression "plVar3 = (long *)param_2[2]" (identifier "plVar3") (= "=") (cast_expression "(long *)param_2[2]" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]")))) (; ";")) (expression_statement "local_90 = 0x80000000;" (assignment_expression "local_90 = 0x80000000" (identifier "local_90") (= "=") (number_literal "0x80000000")) (; ";")) (expression_statement "local_98 = 0xffffffff00000000;" (assignment_expression "local_98 = 0xffffffff00000000" (identifier "local_98") (= "=") (number_literal "0xffffffff00000000")) (; ";")) (expression_statement "local_88 = 0;" (assignment_expression "local_88 = 0" (identifier "local_88") (= "=") (number_literal "0")) (; ";")) (if_statement "if (puVar10 == (undefined8 *)0x0) {\n              if ((*(byte *)((long)puVar22 + 0xb) & 0x40) != 0) {\n                uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n                    \n                cVar4 = FUN_00397bb0(plVar3,uVar21);\n                if (cVar4 != '\0') {\n                  lVar13 = *(long *)(param_1 + 0x28);\n                  if (lVar13 == 0) {\n                    \n                    FUN_002ed4a0();\n                    goto LAB_003108ca;\n                  }\n                  if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    \n                    \n                    FUN_00352af0("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar9 = *(undefined8 *)(lVar13 + 8);\n                  iVar7 = *(int *)(lVar13 + 0x68);\n                  local_88 = (**(code **)(*plVar3 + 0x150))(plVar3,uVar21);\n                  local_88 = (int)uVar9 + 0x20 + iVar7 * 0x10 + local_88;\n                }\n              }\n            }\n            else {\n                    \n              cVar4 = FUN_00228fa0(puVar10,*(undefined4 *)(*DAT_0067dff8 + 0x4c));\n              if (cVar4 != '\0') {\n                if (*(long *)(param_1 + 0x28) == 0) {\n                    \n                  FUN_002ed4a0();\n                  goto LAB_00310805;\n                }\n                local_88 = FUN_002f9c90(*(long *)(param_1 + 0x28),puVar10);\n              }\n            }" (if "if") (parenthesized_expression "(puVar10 == (undefined8 *)0x0)" (( "(") (binary_expression "puVar10 == (undefined8 *)0x0" (identifier "puVar10") (== "==") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              if ((*(byte *)((long)puVar22 + 0xb) & 0x40) != 0) {\n                uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n                    \n                cVar4 = FUN_00397bb0(plVar3,uVar21);\n                if (cVar4 != '\0') {\n                  lVar13 = *(long *)(param_1 + 0x28);\n                  if (lVar13 == 0) {\n                    \n                    FUN_002ed4a0();\n                    goto LAB_003108ca;\n                  }\n                  if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    \n                    \n                    FUN_00352af0("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar9 = *(undefined8 *)(lVar13 + 8);\n                  iVar7 = *(int *)(lVar13 + 0x68);\n                  local_88 = (**(code **)(*plVar3 + 0x150))(plVar3,uVar21);\n                  local_88 = (int)uVar9 + 0x20 + iVar7 * 0x10 + local_88;\n                }\n              }\n            }" ({ "{") (if_statement "if ((*(byte *)((long)puVar22 + 0xb) & 0x40) != 0) {\n                uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n                    \n                cVar4 = FUN_00397bb0(plVar3,uVar21);\n                if (cVar4 != '\0') {\n                  lVar13 = *(long *)(param_1 + 0x28);\n                  if (lVar13 == 0) {\n                    \n                    FUN_002ed4a0();\n                    goto LAB_003108ca;\n                  }\n                  if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    \n                    \n                    FUN_00352af0("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar9 = *(undefined8 *)(lVar13 + 8);\n                  iVar7 = *(int *)(lVar13 + 0x68);\n                  local_88 = (**(code **)(*plVar3 + 0x150))(plVar3,uVar21);\n                  local_88 = (int)uVar9 + 0x20 + iVar7 * 0x10 + local_88;\n                }\n              }" (if "if") (parenthesized_expression "((*(byte *)((long)puVar22 + 0xb) & 0x40) != 0)" (( "(") (binary_expression "(*(byte *)((long)puVar22 + 0xb) & 0x40) != 0" (parenthesized_expression "(*(byte *)((long)puVar22 + 0xb) & 0x40)" (( "(") (binary_expression "*(byte *)((long)puVar22 + 0xb) & 0x40" (pointer_expression "*(byte *)((long)puVar22 + 0xb)" (* "*") (cast_expression "(byte *)((long)puVar22 + 0xb)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar22 + 0xb)" (( "(") (binary_expression "(long)puVar22 + 0xb" (cast_expression "(long)puVar22" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar22")) (+ "+") (number_literal "0xb")) () ")")))) (& "&") (number_literal "0x40")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;\n                    \n                cVar4 = FUN_00397bb0(plVar3,uVar21);\n                if (cVar4 != '\0') {\n                  lVar13 = *(long *)(param_1 + 0x28);\n                  if (lVar13 == 0) {\n                    \n                    FUN_002ed4a0();\n                    goto LAB_003108ca;\n                  }\n                  if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    \n                    \n                    FUN_00352af0("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar9 = *(undefined8 *)(lVar13 + 8);\n                  iVar7 = *(int *)(lVar13 + 0x68);\n                  local_88 = (**(code **)(*plVar3 + 0x150))(plVar3,uVar21);\n                  local_88 = (int)uVar9 + 0x20 + iVar7 * 0x10 + local_88;\n                }\n              }" ({ "{") (expression_statement "uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;" (assignment_expression "uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8" (identifier "uVar21") (= "=") (binary_expression "((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8" (parenthesized_expression "((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18)" (( "(") (binary_expression "(uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18" (binary_expression "(uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8" (binary_expression "(uVar21 & 0xff0000) >> 8" (parenthesized_expression "(uVar21 & 0xff0000)" (( "(") (binary_expression "uVar21 & 0xff0000" (identifier "uVar21") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8")) (| "|") (binary_expression "(uVar21 & 0xff00) << 8" (parenthesized_expression "(uVar21 & 0xff00)" (( "(") (binary_expression "uVar21 & 0xff00" (identifier "uVar21") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar21 << 0x18" (identifier "uVar21") (<< "<<") (number_literal "0x18"))) () ")")) (>> ">>") (number_literal "8"))) (; ";")) (expression_statement "cVar4 = FUN_00397bb0(plVar3,uVar21);" (assignment_expression "cVar4 = FUN_00397bb0(plVar3,uVar21)" (identifier "cVar4") (= "=") (call_expression "FUN_00397bb0(plVar3,uVar21)" (identifier "FUN_00397bb0") (argument_list "(plVar3,uVar21)" (( "(") (identifier "plVar3") (, ",") (identifier "uVar21") () ")")))) (; ";")) (if_statement "if (cVar4 != '\0') {\n                  lVar13 = *(long *)(param_1 + 0x28);\n                  if (lVar13 == 0) {\n                    \n                    FUN_002ed4a0();\n                    goto LAB_003108ca;\n                  }\n                  if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    \n                    \n                    FUN_00352af0("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar9 = *(undefined8 *)(lVar13 + 8);\n                  iVar7 = *(int *)(lVar13 + 0x68);\n                  local_88 = (**(code **)(*plVar3 + 0x150))(plVar3,uVar21);\n                  local_88 = (int)uVar9 + 0x20 + iVar7 * 0x10 + local_88;\n                }" (if "if") (parenthesized_expression "(cVar4 != '\0')" (( "(") (binary_expression "cVar4 != '\0'" (identifier "cVar4") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                  lVar13 = *(long *)(param_1 + 0x28);\n                  if (lVar13 == 0) {\n                    \n                    FUN_002ed4a0();\n                    goto LAB_003108ca;\n                  }\n                  if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    \n                    \n                    FUN_00352af0("../../gold/output.h",0xc5,"address");\n                  }\n                  uVar9 = *(undefined8 *)(lVar13 + 8);\n                  iVar7 = *(int *)(lVar13 + 0x68);\n                  local_88 = (**(code **)(*plVar3 + 0x150))(plVar3,uVar21);\n                  local_88 = (int)uVar9 + 0x20 + iVar7 * 0x10 + local_88;\n                }" ({ "{") (expression_statement "lVar13 = *(long *)(param_1 + 0x28);" (assignment_expression "lVar13 = *(long *)(param_1 + 0x28)" (identifier "lVar13") (= "=") (pointer_expression "*(long *)(param_1 + 0x28)" (* "*") (cast_expression "(long *)(param_1 + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x28)" (( "(") (binary_expression "param_1 + 0x28" (identifier "param_1") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (if_statement "if (lVar13 == 0) {\n                    \n                    FUN_002ed4a0();\n                    goto LAB_003108ca;\n                  }" (if "if") (parenthesized_expression "(lVar13 == 0)" (( "(") (binary_expression "lVar13 == 0" (identifier "lVar13") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n                    FUN_002ed4a0();\n                    goto LAB_003108ca;\n                  }" ({ "{") (expression_statement "FUN_002ed4a0();" (call_expression "FUN_002ed4a0()" (identifier "FUN_002ed4a0") (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto LAB_003108ca;" (goto "goto") (statement_identifier "LAB_003108ca") (; ";")) (} "}"))) (if_statement "if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {\n                    \n                    \n                    FUN_00352af0("../../gold/output.h",0xc5,"address");\n                  }" (if "if") (parenthesized_expression "((*(byte *)(lVar13 + 0x20) & 1) == 0)" (( "(") (binary_expression "(*(byte *)(lVar13 + 0x20) & 1) == 0" (parenthesized_expression "(*(byte *)(lVar13 + 0x20) & 1)" (( "(") (binary_expression "*(byte *)(lVar13 + 0x20) & 1" (pointer_expression "*(byte *)(lVar13 + 0x20)" (* "*") (cast_expression "(byte *)(lVar13 + 0x20)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar13 + 0x20)" (( "(") (binary_expression "lVar13 + 0x20" (identifier "lVar13") (+ "+") (number_literal "0x20")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n                    \n                    FUN_00352af0("../../gold/output.h",0xc5,"address");\n                  }" ({ "{") (expression_statement "FUN_00352af0("../../gold/output.h",0xc5,"address");" (call_expression "FUN_00352af0("../../gold/output.h",0xc5,"address")" (identifier "FUN_00352af0") (argument_list "("../../gold/output.h",0xc5,"address")" (( "(") (string_literal ""../../gold/output.h"" (" """) (string_content "../../gold/output.h") (" """)) (, ",") (number_literal "0xc5") (, ",") (string_literal ""address"" (" """) (string_content "address") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "uVar9 = *(undefined8 *)(lVar13 + 8);" (assignment_expression "uVar9 = *(undefined8 *)(lVar13 + 8)" (identifier "uVar9") (= "=") (pointer_expression "*(undefined8 *)(lVar13 + 8)" (* "*") (cast_expression "(undefined8 *)(lVar13 + 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar13 + 8)" (( "(") (binary_expression "lVar13 + 8" (identifier "lVar13") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "iVar7 = *(int *)(lVar13 + 0x68);" (assignment_expression "iVar7 = *(int *)(lVar13 + 0x68)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(lVar13 + 0x68)" (* "*") (cast_expression "(int *)(lVar13 + 0x68)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar13 + 0x68)" (( "(") (binary_expression "lVar13 + 0x68" (identifier "lVar13") (+ "+") (number_literal "0x68")) () ")"))))) (; ";")) (expression_statement "local_88 = (**(code **)(*plVar3 + 0x150))(plVar3,uVar21);" (assignment_expression "local_88 = (**(code **)(*plVar3 + 0x150))(plVar3,uVar21)" (identifier "local_88") (= "=") (call_expression "(**(code **)(*plVar3 + 0x150))(plVar3,uVar21)" (parenthesized_expression "(**(code **)(*plVar3 + 0x150))" (( "(") (pointer_expression "**(code **)(*plVar3 + 0x150)" (* "*") (pointer_expression "*(code **)(*plVar3 + 0x150)" (* "*") (cast_expression "(code **)(*plVar3 + 0x150)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar3 + 0x150)" (( "(") (binary_expression "*plVar3 + 0x150" (pointer_expression "*plVar3" (* "*") (identifier "plVar3")) (+ "+") (number_literal "0x150")) () ")"))))) () ")")) (argument_list "(plVar3,uVar21)" (( "(") (identifier "plVar3") (, ",") (identifier "uVar21") () ")")))) (; ";")) (expression_statement "local_88 = (int)uVar9 + 0x20 + iVar7 * 0x10 + local_88;" (assignment_expression "local_88 = (int)uVar9 + 0x20 + iVar7 * 0x10 + local_88" (identifier "local_88") (= "=") (binary_expression "(int)uVar9 + 0x20 + iVar7 * 0x10 + local_88" (binary_expression "(int)uVar9 + 0x20 + iVar7 * 0x10" (binary_expression "(int)uVar9 + 0x20" (cast_expression "(int)uVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar9")) (+ "+") (number_literal "0x20")) (+ "+") (binary_expression "iVar7 * 0x10" (identifier "iVar7") (* "*") (number_literal "0x10"))) (+ "+") (identifier "local_88"))) (; ";")) (} "}"))) (} "}"))) (} "}")) (else_clause "else {\n                    \n              cVar4 = FUN_00228fa0(puVar10,*(undefined4 *)(*DAT_0067dff8 + 0x4c));\n              if (cVar4 != '\0') {\n                if (*(long *)(param_1 + 0x28) == 0) {\n                    \n                  FUN_002ed4a0();\n                  goto LAB_00310805;\n                }\n                local_88 = FUN_002f9c90(*(long *)(param_1 + 0x28),puVar10);\n              }\n            }" (else "else") (compound_statement "{\n                    \n              cVar4 = FUN_00228fa0(puVar10,*(undefined4 *)(*DAT_0067dff8 + 0x4c));\n              if (cVar4 != '\0') {\n                if (*(long *)(param_1 + 0x28) == 0) {\n                    \n                  FUN_002ed4a0();\n                  goto LAB_00310805;\n                }\n                local_88 = FUN_002f9c90(*(long *)(param_1 + 0x28),puVar10);\n              }\n            }" ({ "{") (expression_statement "cVar4 = FUN_00228fa0(puVar10,*(undefined4 *)(*DAT_0067dff8 + 0x4c));" (assignment_expression "cVar4 = FUN_00228fa0(puVar10,*(undefined4 *)(*DAT_0067dff8 + 0x4c))" (identifier "cVar4") (= "=") (call_expression "FUN_00228fa0(puVar10,*(undefined4 *)(*DAT_0067dff8 + 0x4c))" (identifier "FUN_00228fa0") (argument_list "(puVar10,*(undefined4 *)(*DAT_0067dff8 + 0x4c))" (( "(") (identifier "puVar10") (, ",") (pointer_expression "*(undefined4 *)(*DAT_0067dff8 + 0x4c)" (* "*") (cast_expression "(undefined4 *)(*DAT_0067dff8 + 0x4c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*DAT_0067dff8 + 0x4c)" (( "(") (binary_expression "*DAT_0067dff8 + 0x4c" (pointer_expression "*DAT_0067dff8" (* "*") (identifier "DAT_0067dff8")) (+ "+") (number_literal "0x4c")) () ")")))) () ")")))) (; ";")) (if_statement "if (cVar4 != '\0') {\n                if (*(long *)(param_1 + 0x28) == 0) {\n                    \n                  FUN_002ed4a0();\n                  goto LAB_00310805;\n                }\n                local_88 = FUN_002f9c90(*(long *)(param_1 + 0x28),puVar10);\n              }" (if "if") (parenthesized_expression "(cVar4 != '\0')" (( "(") (binary_expression "cVar4 != '\0'" (identifier "cVar4") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                if (*(long *)(param_1 + 0x28) == 0) {\n                    \n                  FUN_002ed4a0();\n                  goto LAB_00310805;\n                }\n                local_88 = FUN_002f9c90(*(long *)(param_1 + 0x28),puVar10);\n              }" ({ "{") (if_statement "if (*(long *)(param_1 + 0x28) == 0) {\n                    \n                  FUN_002ed4a0();\n                  goto LAB_00310805;\n                }" (if "if") (parenthesized_expression "(*(long *)(param_1 + 0x28) == 0)" (( "(") (binary_expression "*(long *)(param_1 + 0x28) == 0" (pointer_expression "*(long *)(param_1 + 0x28)" (* "*") (cast_expression "(long *)(param_1 + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x28)" (( "(") (binary_expression "param_1 + 0x28" (identifier "param_1") (+ "+") (number_literal "0x28")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n                  FUN_002ed4a0();\n                  goto LAB_00310805;\n                }" ({ "{") (expression_statement "FUN_002ed4a0();" (call_expression "FUN_002ed4a0()" (identifier "FUN_002ed4a0") (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto LAB_00310805;" (goto "goto") (statement_identifier "LAB_00310805") (; ";")) (} "}"))) (expression_statement "local_88 = FUN_002f9c90(*(long *)(param_1 + 0x28),puVar10);" (assignment_expression "local_88 = FUN_002f9c90(*(long *)(param_1 + 0x28),puVar10)" (identifier "local_88") (= "=") (call_expression "FUN_002f9c90(*(long *)(param_1 + 0x28),puVar10)" (identifier "FUN_002f9c90") (argument_list "(*(long *)(param_1 + 0x28),puVar10)" (( "(") (pointer_expression "*(long *)(param_1 + 0x28)" (* "*") (cast_expression "(long *)(param_1 + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x28)" (( "(") (binary_expression "param_1 + 0x28" (identifier "param_1") (+ "+") (number_literal "0x28")) () ")")))) (, ",") (identifier "puVar10") () ")")))) (; ";")) (} "}"))) (} "}")))) (expression_statement "FUN_001a5bc0(&local_98);" (call_expression "FUN_001a5bc0(&local_98)" (identifier "FUN_001a5bc0") (argument_list "(&local_98)" (( "(") (pointer_expression "&local_98" (& "&") (identifier "local_98")) () ")"))) (; ";")) (} "}")))) (if_statement "if (puVar10 != (undefined8 *)0x0) {\n            bVar16 = *(byte *)((long)puVar10 + 0x3a);\n            bVar5 = bVar16 & 7;\n            if ((bVar16 & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) != 0) || ((*(byte *)((long)puVar10 + 0x3b) & 0x20) == 0)) {\n                if (*(code **)(*(long *)puVar10[2] + 0x28) != FUN_001a4aa0) {\n                  lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                  if (lVar13 != 0) {\n                    bVar16 = *(byte *)((long)puVar10 + 0x3a);\n                    bVar5 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar5 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)puVar10 + 0x3b)) goto LAB_00310305;\n                    bVar5 = *(byte *)((long)puVar10 + 0x39);\n                    if ((bVar5 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }\nLAB_0031015a:\n                bVar16 = bVar16 & 7;\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                if ((*(byte *)((long)puVar10 + 0x39) & 3) == 0) goto LAB_003101c0;\nLAB_00310166:\n                if (((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)\n                    ) && ((*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0)))) {\nLAB_00310293:\n                  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_003108ca:\n                    \n                    \n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') {\n                    if (bVar16 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)(puVar10[2] + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }\n                if (bVar5 == 2) {\n                  uVar9 = gettext("hidden");\n                }\n                else if (bVar5 < 3) {\n                  if (bVar5 != 1) {\n                    \n                    FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar9 = gettext("internal");\n                }\n                else {\n                  uVar9 = gettext("protected");\n                }\n                uVar11 = *puVar10;\n                uVar12 = gettext("%s symbol \'%s\' is not defined locally");\n                    \n                FUN_0034a750(uVar12,uVar9,uVar11);\n                goto LAB_003101c0;\n              }\nLAB_0031020c:\n              if ((*(byte *)(puVar10 + 7) >> 4 == 2) || ((*(byte *)((long)puVar10 + 0x3c) & 2) != 0)\n                 ) {\nLAB_00310438:\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_0031043f:\n                if (bVar5 == 0) goto LAB_003101c0;\n                bVar16 = *(byte *)((long)puVar10 + 0x3a) & 7;\n                if (bVar16 != 0) goto LAB_00310270;\n                goto LAB_00310166;\n              }\n              if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\n                    \n                    \n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') goto LAB_00310438;\n              if (*(char *)((long)puVar10 + 0x3b) < '\0') {\n                if (bVar5 != 0) goto LAB_00310260;\nLAB_003105b8:\n                if (*(code **)(*(long *)puVar10[2] + 0x28) == FUN_001a4aa0) goto LAB_0031015a;\n                    \n                lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                if (lVar13 == 0) goto LAB_00310438;\n              }\nLAB_00310305:\n              plVar3 = *(long **)(PTR_DAT_0067cb08 + 0x18);\n              if (plVar3 == (long *)0x0) {\nLAB_00310805:\n                    \n                    \n                FUN_00352af0("../../gold/parameters.h",0x69,"target");\n              }\n              if ((*(code **)(*plVar3 + 0x38) != FUN_001a49e0) &&\n                 (cVar4 = (**(code **)(*plVar3 + 0x38))(plVar3,puVar10), cVar4 != '\0'))\n              goto LAB_00310438;\n              lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar13 == 0) {\n                    \n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              pbVar18 = *(byte **)(lVar13 + 0x6c40);\n              bVar24 = false;\n              bVar26 = pbVar18 == (byte *)0x0;\n              if (bVar26) {\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_003103c9:\n                if ((bVar5 == 2) ||\n                   ((*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0'))))\n                goto LAB_003103e1;\n                goto LAB_0031043f;\n              }\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"ignore-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar24 = *pbVar19 < *pbVar20;\n                bVar26 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar26);\n              bVar25 = false;\n              bVar24 = (!bVar24 && !bVar26) == bVar24;\n              if (bVar24) goto LAB_00310438;\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"report-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar25 = *pbVar19 < *pbVar20;\n                bVar24 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar15 = 0x17;\n                pbVar19 = pbVar18;\n                pbVar20 = (byte *)"ignore-in-object-files";\n                do {\n                  if (lVar15 == 0) break;\n                  lVar15 = lVar15 + -1;\n                  bVar26 = *pbVar19 < *pbVar20;\n                  bVar24 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if ((!bVar24) || (bVar24 = (*(byte *)((long)puVar10 + 0x3b) & 1) == 0, !bVar24)) {\n                  bVar26 = false;\n                  lVar15 = 0x16;\n                  pbVar19 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    if (lVar15 == 0) break;\n                    lVar15 = lVar15 + -1;\n                    bVar26 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  if (((!bVar26 && !bVar24) != bVar26) || (*(char *)((long)puVar10 + 0x3a) < '\0'))\n                  goto LAB_003103c9;\n                }\n                goto LAB_0031043f;\n              }\nLAB_003103e1:\n              FUN_0034b9f0(puVar10,param_2,local_148,local_140);\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            else {\n              if (bVar5 == 4) goto LAB_0031020c;\nLAB_00310260:\n              bVar5 = *(byte *)((long)puVar10 + 0x39);\n              if ((bVar5 & 3) != 0) {\nLAB_0031026d:\n                bVar5 = bVar5 & 3;\n                bVar16 = bVar16 & 7;\nLAB_00310270:\n                if (((bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2)) &&\n                   (bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0)) goto LAB_00310293;\n              }\nLAB_003101c0:\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            if ((bVar16 & 4) != 0) {\n              FUN_00446c20(*param_2 + 0x1e0,puVar10,param_2,local_148,local_140);\n            }\n          }" (if "if") (parenthesized_expression "(puVar10 != (undefined8 *)0x0)" (( "(") (binary_expression "puVar10 != (undefined8 *)0x0" (identifier "puVar10") (!= "!=") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            bVar16 = *(byte *)((long)puVar10 + 0x3a);\n            bVar5 = bVar16 & 7;\n            if ((bVar16 & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) != 0) || ((*(byte *)((long)puVar10 + 0x3b) & 0x20) == 0)) {\n                if (*(code **)(*(long *)puVar10[2] + 0x28) != FUN_001a4aa0) {\n                  lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                  if (lVar13 != 0) {\n                    bVar16 = *(byte *)((long)puVar10 + 0x3a);\n                    bVar5 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar5 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)puVar10 + 0x3b)) goto LAB_00310305;\n                    bVar5 = *(byte *)((long)puVar10 + 0x39);\n                    if ((bVar5 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }\nLAB_0031015a:\n                bVar16 = bVar16 & 7;\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                if ((*(byte *)((long)puVar10 + 0x39) & 3) == 0) goto LAB_003101c0;\nLAB_00310166:\n                if (((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)\n                    ) && ((*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0)))) {\nLAB_00310293:\n                  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_003108ca:\n                    \n                    \n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') {\n                    if (bVar16 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)(puVar10[2] + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }\n                if (bVar5 == 2) {\n                  uVar9 = gettext("hidden");\n                }\n                else if (bVar5 < 3) {\n                  if (bVar5 != 1) {\n                    \n                    FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar9 = gettext("internal");\n                }\n                else {\n                  uVar9 = gettext("protected");\n                }\n                uVar11 = *puVar10;\n                uVar12 = gettext("%s symbol \'%s\' is not defined locally");\n                    \n                FUN_0034a750(uVar12,uVar9,uVar11);\n                goto LAB_003101c0;\n              }\nLAB_0031020c:\n              if ((*(byte *)(puVar10 + 7) >> 4 == 2) || ((*(byte *)((long)puVar10 + 0x3c) & 2) != 0)\n                 ) {\nLAB_00310438:\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_0031043f:\n                if (bVar5 == 0) goto LAB_003101c0;\n                bVar16 = *(byte *)((long)puVar10 + 0x3a) & 7;\n                if (bVar16 != 0) goto LAB_00310270;\n                goto LAB_00310166;\n              }\n              if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\n                    \n                    \n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') goto LAB_00310438;\n              if (*(char *)((long)puVar10 + 0x3b) < '\0') {\n                if (bVar5 != 0) goto LAB_00310260;\nLAB_003105b8:\n                if (*(code **)(*(long *)puVar10[2] + 0x28) == FUN_001a4aa0) goto LAB_0031015a;\n                    \n                lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                if (lVar13 == 0) goto LAB_00310438;\n              }\nLAB_00310305:\n              plVar3 = *(long **)(PTR_DAT_0067cb08 + 0x18);\n              if (plVar3 == (long *)0x0) {\nLAB_00310805:\n                    \n                    \n                FUN_00352af0("../../gold/parameters.h",0x69,"target");\n              }\n              if ((*(code **)(*plVar3 + 0x38) != FUN_001a49e0) &&\n                 (cVar4 = (**(code **)(*plVar3 + 0x38))(plVar3,puVar10), cVar4 != '\0'))\n              goto LAB_00310438;\n              lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar13 == 0) {\n                    \n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              pbVar18 = *(byte **)(lVar13 + 0x6c40);\n              bVar24 = false;\n              bVar26 = pbVar18 == (byte *)0x0;\n              if (bVar26) {\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_003103c9:\n                if ((bVar5 == 2) ||\n                   ((*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0'))))\n                goto LAB_003103e1;\n                goto LAB_0031043f;\n              }\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"ignore-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar24 = *pbVar19 < *pbVar20;\n                bVar26 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar26);\n              bVar25 = false;\n              bVar24 = (!bVar24 && !bVar26) == bVar24;\n              if (bVar24) goto LAB_00310438;\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"report-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar25 = *pbVar19 < *pbVar20;\n                bVar24 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar15 = 0x17;\n                pbVar19 = pbVar18;\n                pbVar20 = (byte *)"ignore-in-object-files";\n                do {\n                  if (lVar15 == 0) break;\n                  lVar15 = lVar15 + -1;\n                  bVar26 = *pbVar19 < *pbVar20;\n                  bVar24 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if ((!bVar24) || (bVar24 = (*(byte *)((long)puVar10 + 0x3b) & 1) == 0, !bVar24)) {\n                  bVar26 = false;\n                  lVar15 = 0x16;\n                  pbVar19 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    if (lVar15 == 0) break;\n                    lVar15 = lVar15 + -1;\n                    bVar26 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  if (((!bVar26 && !bVar24) != bVar26) || (*(char *)((long)puVar10 + 0x3a) < '\0'))\n                  goto LAB_003103c9;\n                }\n                goto LAB_0031043f;\n              }\nLAB_003103e1:\n              FUN_0034b9f0(puVar10,param_2,local_148,local_140);\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            else {\n              if (bVar5 == 4) goto LAB_0031020c;\nLAB_00310260:\n              bVar5 = *(byte *)((long)puVar10 + 0x39);\n              if ((bVar5 & 3) != 0) {\nLAB_0031026d:\n                bVar5 = bVar5 & 3;\n                bVar16 = bVar16 & 7;\nLAB_00310270:\n                if (((bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2)) &&\n                   (bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0)) goto LAB_00310293;\n              }\nLAB_003101c0:\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            if ((bVar16 & 4) != 0) {\n              FUN_00446c20(*param_2 + 0x1e0,puVar10,param_2,local_148,local_140);\n            }\n          }" ({ "{") (expression_statement "bVar16 = *(byte *)((long)puVar10 + 0x3a);" (assignment_expression "bVar16 = *(byte *)((long)puVar10 + 0x3a)" (identifier "bVar16") (= "=") (pointer_expression "*(byte *)((long)puVar10 + 0x3a)" (* "*") (cast_expression "(byte *)((long)puVar10 + 0x3a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar10 + 0x3a)" (( "(") (binary_expression "(long)puVar10 + 0x3a" (cast_expression "(long)puVar10" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar10")) (+ "+") (number_literal "0x3a")) () ")"))))) (; ";")) (expression_statement "bVar5 = bVar16 & 7;" (assignment_expression "bVar5 = bVar16 & 7" (identifier "bVar5") (= "=") (binary_expression "bVar16 & 7" (identifier "bVar16") (& "&") (number_literal "7"))) (; ";")) (if_statement "if ((bVar16 & 7) == 0) {\n              if ((*(int *)(puVar10 + 3) != 0) || ((*(byte *)((long)puVar10 + 0x3b) & 0x20) == 0)) {\n                if (*(code **)(*(long *)puVar10[2] + 0x28) != FUN_001a4aa0) {\n                  lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                  if (lVar13 != 0) {\n                    bVar16 = *(byte *)((long)puVar10 + 0x3a);\n                    bVar5 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar5 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)puVar10 + 0x3b)) goto LAB_00310305;\n                    bVar5 = *(byte *)((long)puVar10 + 0x39);\n                    if ((bVar5 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }\nLAB_0031015a:\n                bVar16 = bVar16 & 7;\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                if ((*(byte *)((long)puVar10 + 0x39) & 3) == 0) goto LAB_003101c0;\nLAB_00310166:\n                if (((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)\n                    ) && ((*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0)))) {\nLAB_00310293:\n                  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_003108ca:\n                    \n                    \n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') {\n                    if (bVar16 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)(puVar10[2] + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }\n                if (bVar5 == 2) {\n                  uVar9 = gettext("hidden");\n                }\n                else if (bVar5 < 3) {\n                  if (bVar5 != 1) {\n                    \n                    FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar9 = gettext("internal");\n                }\n                else {\n                  uVar9 = gettext("protected");\n                }\n                uVar11 = *puVar10;\n                uVar12 = gettext("%s symbol \'%s\' is not defined locally");\n                    \n                FUN_0034a750(uVar12,uVar9,uVar11);\n                goto LAB_003101c0;\n              }\nLAB_0031020c:\n              if ((*(byte *)(puVar10 + 7) >> 4 == 2) || ((*(byte *)((long)puVar10 + 0x3c) & 2) != 0)\n                 ) {\nLAB_00310438:\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_0031043f:\n                if (bVar5 == 0) goto LAB_003101c0;\n                bVar16 = *(byte *)((long)puVar10 + 0x3a) & 7;\n                if (bVar16 != 0) goto LAB_00310270;\n                goto LAB_00310166;\n              }\n              if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\n                    \n                    \n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') goto LAB_00310438;\n              if (*(char *)((long)puVar10 + 0x3b) < '\0') {\n                if (bVar5 != 0) goto LAB_00310260;\nLAB_003105b8:\n                if (*(code **)(*(long *)puVar10[2] + 0x28) == FUN_001a4aa0) goto LAB_0031015a;\n                    \n                lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                if (lVar13 == 0) goto LAB_00310438;\n              }\nLAB_00310305:\n              plVar3 = *(long **)(PTR_DAT_0067cb08 + 0x18);\n              if (plVar3 == (long *)0x0) {\nLAB_00310805:\n                    \n                    \n                FUN_00352af0("../../gold/parameters.h",0x69,"target");\n              }\n              if ((*(code **)(*plVar3 + 0x38) != FUN_001a49e0) &&\n                 (cVar4 = (**(code **)(*plVar3 + 0x38))(plVar3,puVar10), cVar4 != '\0'))\n              goto LAB_00310438;\n              lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar13 == 0) {\n                    \n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              pbVar18 = *(byte **)(lVar13 + 0x6c40);\n              bVar24 = false;\n              bVar26 = pbVar18 == (byte *)0x0;\n              if (bVar26) {\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_003103c9:\n                if ((bVar5 == 2) ||\n                   ((*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0'))))\n                goto LAB_003103e1;\n                goto LAB_0031043f;\n              }\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"ignore-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar24 = *pbVar19 < *pbVar20;\n                bVar26 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar26);\n              bVar25 = false;\n              bVar24 = (!bVar24 && !bVar26) == bVar24;\n              if (bVar24) goto LAB_00310438;\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"report-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar25 = *pbVar19 < *pbVar20;\n                bVar24 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar15 = 0x17;\n                pbVar19 = pbVar18;\n                pbVar20 = (byte *)"ignore-in-object-files";\n                do {\n                  if (lVar15 == 0) break;\n                  lVar15 = lVar15 + -1;\n                  bVar26 = *pbVar19 < *pbVar20;\n                  bVar24 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if ((!bVar24) || (bVar24 = (*(byte *)((long)puVar10 + 0x3b) & 1) == 0, !bVar24)) {\n                  bVar26 = false;\n                  lVar15 = 0x16;\n                  pbVar19 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    if (lVar15 == 0) break;\n                    lVar15 = lVar15 + -1;\n                    bVar26 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  if (((!bVar26 && !bVar24) != bVar26) || (*(char *)((long)puVar10 + 0x3a) < '\0'))\n                  goto LAB_003103c9;\n                }\n                goto LAB_0031043f;\n              }\nLAB_003103e1:\n              FUN_0034b9f0(puVar10,param_2,local_148,local_140);\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }\n            else {\n              if (bVar5 == 4) goto LAB_0031020c;\nLAB_00310260:\n              bVar5 = *(byte *)((long)puVar10 + 0x39);\n              if ((bVar5 & 3) != 0) {\nLAB_0031026d:\n                bVar5 = bVar5 & 3;\n                bVar16 = bVar16 & 7;\nLAB_00310270:\n                if (((bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2)) &&\n                   (bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0)) goto LAB_00310293;\n              }\nLAB_003101c0:\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }" (if "if") (parenthesized_expression "((bVar16 & 7) == 0)" (( "(") (binary_expression "(bVar16 & 7) == 0" (parenthesized_expression "(bVar16 & 7)" (( "(") (binary_expression "bVar16 & 7" (identifier "bVar16") (& "&") (number_literal "7")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              if ((*(int *)(puVar10 + 3) != 0) || ((*(byte *)((long)puVar10 + 0x3b) & 0x20) == 0)) {\n                if (*(code **)(*(long *)puVar10[2] + 0x28) != FUN_001a4aa0) {\n                  lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                  if (lVar13 != 0) {\n                    bVar16 = *(byte *)((long)puVar10 + 0x3a);\n                    bVar5 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar5 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)puVar10 + 0x3b)) goto LAB_00310305;\n                    bVar5 = *(byte *)((long)puVar10 + 0x39);\n                    if ((bVar5 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }\nLAB_0031015a:\n                bVar16 = bVar16 & 7;\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                if ((*(byte *)((long)puVar10 + 0x39) & 3) == 0) goto LAB_003101c0;\nLAB_00310166:\n                if (((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)\n                    ) && ((*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0)))) {\nLAB_00310293:\n                  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_003108ca:\n                    \n                    \n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') {\n                    if (bVar16 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)(puVar10[2] + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }\n                if (bVar5 == 2) {\n                  uVar9 = gettext("hidden");\n                }\n                else if (bVar5 < 3) {\n                  if (bVar5 != 1) {\n                    \n                    FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar9 = gettext("internal");\n                }\n                else {\n                  uVar9 = gettext("protected");\n                }\n                uVar11 = *puVar10;\n                uVar12 = gettext("%s symbol \'%s\' is not defined locally");\n                    \n                FUN_0034a750(uVar12,uVar9,uVar11);\n                goto LAB_003101c0;\n              }\nLAB_0031020c:\n              if ((*(byte *)(puVar10 + 7) >> 4 == 2) || ((*(byte *)((long)puVar10 + 0x3c) & 2) != 0)\n                 ) {\nLAB_00310438:\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_0031043f:\n                if (bVar5 == 0) goto LAB_003101c0;\n                bVar16 = *(byte *)((long)puVar10 + 0x3a) & 7;\n                if (bVar16 != 0) goto LAB_00310270;\n                goto LAB_00310166;\n              }\n              if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\n                    \n                    \n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') goto LAB_00310438;\n              if (*(char *)((long)puVar10 + 0x3b) < '\0') {\n                if (bVar5 != 0) goto LAB_00310260;\nLAB_003105b8:\n                if (*(code **)(*(long *)puVar10[2] + 0x28) == FUN_001a4aa0) goto LAB_0031015a;\n                    \n                lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                if (lVar13 == 0) goto LAB_00310438;\n              }\nLAB_00310305:\n              plVar3 = *(long **)(PTR_DAT_0067cb08 + 0x18);\n              if (plVar3 == (long *)0x0) {\nLAB_00310805:\n                    \n                    \n                FUN_00352af0("../../gold/parameters.h",0x69,"target");\n              }\n              if ((*(code **)(*plVar3 + 0x38) != FUN_001a49e0) &&\n                 (cVar4 = (**(code **)(*plVar3 + 0x38))(plVar3,puVar10), cVar4 != '\0'))\n              goto LAB_00310438;\n              lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);\n              if (lVar13 == 0) {\n                    \n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }\n              pbVar18 = *(byte **)(lVar13 + 0x6c40);\n              bVar24 = false;\n              bVar26 = pbVar18 == (byte *)0x0;\n              if (bVar26) {\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_003103c9:\n                if ((bVar5 == 2) ||\n                   ((*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0'))))\n                goto LAB_003103e1;\n                goto LAB_0031043f;\n              }\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"ignore-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar24 = *pbVar19 < *pbVar20;\n                bVar26 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar26);\n              bVar25 = false;\n              bVar24 = (!bVar24 && !bVar26) == bVar24;\n              if (bVar24) goto LAB_00310438;\n              lVar15 = 0xb;\n              pbVar19 = pbVar18;\n              pbVar20 = (byte *)"report-all";\n              do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar25 = *pbVar19 < *pbVar20;\n                bVar24 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);\n              bVar26 = false;\n              bVar24 = (!bVar25 && !bVar24) == bVar25;\n              if (!bVar24) {\n                lVar15 = 0x17;\n                pbVar19 = pbVar18;\n                pbVar20 = (byte *)"ignore-in-object-files";\n                do {\n                  if (lVar15 == 0) break;\n                  lVar15 = lVar15 + -1;\n                  bVar26 = *pbVar19 < *pbVar20;\n                  bVar24 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if ((!bVar24) || (bVar24 = (*(byte *)((long)puVar10 + 0x3b) & 1) == 0, !bVar24)) {\n                  bVar26 = false;\n                  lVar15 = 0x16;\n                  pbVar19 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    if (lVar15 == 0) break;\n                    lVar15 = lVar15 + -1;\n                    bVar26 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  if (((!bVar26 && !bVar24) != bVar26) || (*(char *)((long)puVar10 + 0x3a) < '\0'))\n                  goto LAB_003103c9;\n                }\n                goto LAB_0031043f;\n              }\nLAB_003103e1:\n              FUN_0034b9f0(puVar10,param_2,local_148,local_140);\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }" ({ "{") (if_statement "if ((*(int *)(puVar10 + 3) != 0) || ((*(byte *)((long)puVar10 + 0x3b) & 0x20) == 0)) {\n                if (*(code **)(*(long *)puVar10[2] + 0x28) != FUN_001a4aa0) {\n                  lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                  if (lVar13 != 0) {\n                    bVar16 = *(byte *)((long)puVar10 + 0x3a);\n                    bVar5 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar5 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)puVar10 + 0x3b)) goto LAB_00310305;\n                    bVar5 = *(byte *)((long)puVar10 + 0x39);\n                    if ((bVar5 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }\nLAB_0031015a:\n                bVar16 = bVar16 & 7;\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                if ((*(byte *)((long)puVar10 + 0x39) & 3) == 0) goto LAB_003101c0;\nLAB_00310166:\n                if (((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)\n                    ) && ((*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0)))) {\nLAB_00310293:\n                  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_003108ca:\n                    \n                    \n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') {\n                    if (bVar16 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)(puVar10[2] + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }\n                if (bVar5 == 2) {\n                  uVar9 = gettext("hidden");\n                }\n                else if (bVar5 < 3) {\n                  if (bVar5 != 1) {\n                    \n                    FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar9 = gettext("internal");\n                }\n                else {\n                  uVar9 = gettext("protected");\n                }\n                uVar11 = *puVar10;\n                uVar12 = gettext("%s symbol \'%s\' is not defined locally");\n                    \n                FUN_0034a750(uVar12,uVar9,uVar11);\n                goto LAB_003101c0;\n              }" (if "if") (parenthesized_expression "((*(int *)(puVar10 + 3) != 0) || ((*(byte *)((long)puVar10 + 0x3b) & 0x20) == 0))" (( "(") (binary_expression "(*(int *)(puVar10 + 3) != 0) || ((*(byte *)((long)puVar10 + 0x3b) & 0x20) == 0)" (parenthesized_expression "(*(int *)(puVar10 + 3) != 0)" (( "(") (binary_expression "*(int *)(puVar10 + 3) != 0" (pointer_expression "*(int *)(puVar10 + 3)" (* "*") (cast_expression "(int *)(puVar10 + 3)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 3)" (( "(") (binary_expression "puVar10 + 3" (identifier "puVar10") (+ "+") (number_literal "3")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((*(byte *)((long)puVar10 + 0x3b) & 0x20) == 0)" (( "(") (binary_expression "(*(byte *)((long)puVar10 + 0x3b) & 0x20) == 0" (parenthesized_expression "(*(byte *)((long)puVar10 + 0x3b) & 0x20)" (( "(") (binary_expression "*(byte *)((long)puVar10 + 0x3b) & 0x20" (pointer_expression "*(byte *)((long)puVar10 + 0x3b)" (* "*") (cast_expression "(byte *)((long)puVar10 + 0x3b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar10 + 0x3b)" (( "(") (binary_expression "(long)puVar10 + 0x3b" (cast_expression "(long)puVar10" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar10")) (+ "+") (number_literal "0x3b")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n                if (*(code **)(*(long *)puVar10[2] + 0x28) != FUN_001a4aa0) {\n                  lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                  if (lVar13 != 0) {\n                    bVar16 = *(byte *)((long)puVar10 + 0x3a);\n                    bVar5 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar5 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)puVar10 + 0x3b)) goto LAB_00310305;\n                    bVar5 = *(byte *)((long)puVar10 + 0x39);\n                    if ((bVar5 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }\nLAB_0031015a:\n                bVar16 = bVar16 & 7;\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                if ((*(byte *)((long)puVar10 + 0x39) & 3) == 0) goto LAB_003101c0;\nLAB_00310166:\n                if (((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)\n                    ) && ((*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0)))) {\nLAB_00310293:\n                  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_003108ca:\n                    \n                    \n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') {\n                    if (bVar16 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)(puVar10[2] + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }\n                if (bVar5 == 2) {\n                  uVar9 = gettext("hidden");\n                }\n                else if (bVar5 < 3) {\n                  if (bVar5 != 1) {\n                    \n                    FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar9 = gettext("internal");\n                }\n                else {\n                  uVar9 = gettext("protected");\n                }\n                uVar11 = *puVar10;\n                uVar12 = gettext("%s symbol \'%s\' is not defined locally");\n                    \n                FUN_0034a750(uVar12,uVar9,uVar11);\n                goto LAB_003101c0;\n              }" ({ "{") (if_statement "if (*(code **)(*(long *)puVar10[2] + 0x28) != FUN_001a4aa0) {\n                  lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                  if (lVar13 != 0) {\n                    bVar16 = *(byte *)((long)puVar10 + 0x3a);\n                    bVar5 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar5 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)puVar10 + 0x3b)) goto LAB_00310305;\n                    bVar5 = *(byte *)((long)puVar10 + 0x39);\n                    if ((bVar5 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }" (if "if") (parenthesized_expression "(*(code **)(*(long *)puVar10[2] + 0x28) != FUN_001a4aa0)" (( "(") (binary_expression "*(code **)(*(long *)puVar10[2] + 0x28) != FUN_001a4aa0" (pointer_expression "*(code **)(*(long *)puVar10[2] + 0x28)" (* "*") (cast_expression "(code **)(*(long *)puVar10[2] + 0x28)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(long *)puVar10[2] + 0x28)" (( "(") (binary_expression "*(long *)puVar10[2] + 0x28" (pointer_expression "*(long *)puVar10[2]" (* "*") (cast_expression "(long *)puVar10[2]" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar10[2]" (identifier "puVar10") ([ "[") (number_literal "2") (] "]")))) (+ "+") (number_literal "0x28")) () ")")))) (!= "!=") (identifier "FUN_001a4aa0")) () ")")) (compound_statement "{\n                  lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                  if (lVar13 != 0) {\n                    bVar16 = *(byte *)((long)puVar10 + 0x3a);\n                    bVar5 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar5 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)puVar10 + 0x3b)) goto LAB_00310305;\n                    bVar5 = *(byte *)((long)puVar10 + 0x39);\n                    if ((bVar5 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }\n                  goto LAB_00310438;\n                }" ({ "{") (expression_statement "lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();" (assignment_expression "lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))()" (identifier "lVar13") (= "=") (call_expression "(**(code **)(*(long *)puVar10[2] + 0x28))()" (parenthesized_expression "(**(code **)(*(long *)puVar10[2] + 0x28))" (( "(") (pointer_expression "**(code **)(*(long *)puVar10[2] + 0x28)" (* "*") (pointer_expression "*(code **)(*(long *)puVar10[2] + 0x28)" (* "*") (cast_expression "(code **)(*(long *)puVar10[2] + 0x28)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(long *)puVar10[2] + 0x28)" (( "(") (binary_expression "*(long *)puVar10[2] + 0x28" (pointer_expression "*(long *)puVar10[2]" (* "*") (cast_expression "(long *)puVar10[2]" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar10[2]" (identifier "puVar10") ([ "[") (number_literal "2") (] "]")))) (+ "+") (number_literal "0x28")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (lVar13 != 0) {\n                    bVar16 = *(byte *)((long)puVar10 + 0x3a);\n                    bVar5 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar5 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)puVar10 + 0x3b)) goto LAB_00310305;\n                    bVar5 = *(byte *)((long)puVar10 + 0x39);\n                    if ((bVar5 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }" (if "if") (parenthesized_expression "(lVar13 != 0)" (( "(") (binary_expression "lVar13 != 0" (identifier "lVar13") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    bVar16 = *(byte *)((long)puVar10 + 0x3a);\n                    bVar5 = bVar16 & 7;\n                    if ((bVar16 & 7) == 0) {\n                      if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }\n                    if (bVar5 == 4) goto LAB_0031020c;\n                    if (-1 < *(char *)((long)puVar10 + 0x3b)) goto LAB_00310305;\n                    bVar5 = *(byte *)((long)puVar10 + 0x39);\n                    if ((bVar5 & 3) == 0) goto LAB_003101c0;\n                    goto LAB_0031026d;\n                  }" ({ "{") (expression_statement "bVar16 = *(byte *)((long)puVar10 + 0x3a);" (assignment_expression "bVar16 = *(byte *)((long)puVar10 + 0x3a)" (identifier "bVar16") (= "=") (pointer_expression "*(byte *)((long)puVar10 + 0x3a)" (* "*") (cast_expression "(byte *)((long)puVar10 + 0x3a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar10 + 0x3a)" (( "(") (binary_expression "(long)puVar10 + 0x3a" (cast_expression "(long)puVar10" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar10")) (+ "+") (number_literal "0x3a")) () ")"))))) (; ";")) (expression_statement "bVar5 = bVar16 & 7;" (assignment_expression "bVar5 = bVar16 & 7" (identifier "bVar5") (= "=") (binary_expression "bVar16 & 7" (identifier "bVar16") (& "&") (number_literal "7"))) (; ";")) (if_statement "if ((bVar16 & 7) == 0) {\n                      if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }" (if "if") (parenthesized_expression "((bVar16 & 7) == 0)" (( "(") (binary_expression "(bVar16 & 7) == 0" (parenthesized_expression "(bVar16 & 7)" (( "(") (binary_expression "bVar16 & 7" (identifier "bVar16") (& "&") (number_literal "7")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                      if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;\n                      if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;\n                      goto LAB_00310305;\n                    }" ({ "{") (if_statement "if ((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;" (if "if") (parenthesized_expression "((*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0))" (( "(") (binary_expression "(*(int *)(puVar10 + 3) == 0) &&\n                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)" (parenthesized_expression "(*(int *)(puVar10 + 3) == 0)" (( "(") (binary_expression "*(int *)(puVar10 + 3) == 0" (pointer_expression "*(int *)(puVar10 + 3)" (* "*") (cast_expression "(int *)(puVar10 + 3)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 3)" (( "(") (binary_expression "puVar10 + 3" (identifier "puVar10") (+ "+") (number_literal "3")) () ")")))) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)" (( "(") (binary_expression "(*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0" (parenthesized_expression "(*(byte *)((long)puVar10 + 0x3b) & 0x20)" (( "(") (binary_expression "*(byte *)((long)puVar10 + 0x3b) & 0x20" (pointer_expression "*(byte *)((long)puVar10 + 0x3b)" (* "*") (cast_expression "(byte *)((long)puVar10 + 0x3b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar10 + 0x3b)" (( "(") (binary_expression "(long)puVar10 + 0x3b" (cast_expression "(long)puVar10" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar10")) (+ "+") (number_literal "0x3b")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (goto_statement "goto LAB_0031020c;" (goto "goto") (statement_identifier "LAB_0031020c") (; ";"))) (if_statement "if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;" (if "if") (parenthesized_expression "((char)*(byte *)((long)puVar10 + 0x3b) < '\0')" (( "(") (binary_expression "(char)*(byte *)((long)puVar10 + 0x3b) < '\0'" (cast_expression "(char)*(byte *)((long)puVar10 + 0x3b)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (pointer_expression "*(byte *)((long)puVar10 + 0x3b)" (* "*") (cast_expression "(byte *)((long)puVar10 + 0x3b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar10 + 0x3b)" (( "(") (binary_expression "(long)puVar10 + 0x3b" (cast_expression "(long)puVar10" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar10")) (+ "+") (number_literal "0x3b")) () ")"))))) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_003105b8;" (goto "goto") (statement_identifier "LAB_003105b8") (; ";"))) (goto_statement "goto LAB_00310305;" (goto "goto") (statement_identifier "LAB_00310305") (; ";")) (} "}"))) (if_statement "if (bVar5 == 4) goto LAB_0031020c;" (if "if") (parenthesized_expression "(bVar5 == 4)" (( "(") (binary_expression "bVar5 == 4" (identifier "bVar5") (== "==") (number_literal "4")) () ")")) (goto_statement "goto LAB_0031020c;" (goto "goto") (statement_identifier "LAB_0031020c") (; ";"))) (if_statement "if (-1 < *(char *)((long)puVar10 + 0x3b)) goto LAB_00310305;" (if "if") (parenthesized_expression "(-1 < *(char *)((long)puVar10 + 0x3b))" (( "(") (binary_expression "-1 < *(char *)((long)puVar10 + 0x3b)" (number_literal "-1") (< "<") (pointer_expression "*(char *)((long)puVar10 + 0x3b)" (* "*") (cast_expression "(char *)((long)puVar10 + 0x3b)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar10 + 0x3b)" (( "(") (binary_expression "(long)puVar10 + 0x3b" (cast_expression "(long)puVar10" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar10")) (+ "+") (number_literal "0x3b")) () ")"))))) () ")")) (goto_statement "goto LAB_00310305;" (goto "goto") (statement_identifier "LAB_00310305") (; ";"))) (expression_statement "bVar5 = *(byte *)((long)puVar10 + 0x39);" (assignment_expression "bVar5 = *(byte *)((long)puVar10 + 0x39)" (identifier "bVar5") (= "=") (pointer_expression "*(byte *)((long)puVar10 + 0x39)" (* "*") (cast_expression "(byte *)((long)puVar10 + 0x39)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar10 + 0x39)" (( "(") (binary_expression "(long)puVar10 + 0x39" (cast_expression "(long)puVar10" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar10")) (+ "+") (number_literal "0x39")) () ")"))))) (; ";")) (if_statement "if ((bVar5 & 3) == 0) goto LAB_003101c0;" (if "if") (parenthesized_expression "((bVar5 & 3) == 0)" (( "(") (binary_expression "(bVar5 & 3) == 0" (parenthesized_expression "(bVar5 & 3)" (( "(") (binary_expression "bVar5 & 3" (identifier "bVar5") (& "&") (number_literal "3")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_003101c0;" (goto "goto") (statement_identifier "LAB_003101c0") (; ";"))) (goto_statement "goto LAB_0031026d;" (goto "goto") (statement_identifier "LAB_0031026d") (; ";")) (} "}"))) (goto_statement "goto LAB_00310438;" (goto "goto") (statement_identifier "LAB_00310438") (; ";")) (} "}"))) (labeled_statement "LAB_0031015a:\n                bVar16 = bVar16 & 7;" (statement_identifier "LAB_0031015a") (: ":") (expression_statement "bVar16 = bVar16 & 7;" (assignment_expression "bVar16 = bVar16 & 7" (identifier "bVar16") (= "=") (binary_expression "bVar16 & 7" (identifier "bVar16") (& "&") (number_literal "7"))) (; ";"))) (expression_statement "bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;" (assignment_expression "bVar5 = *(byte *)((long)puVar10 + 0x39) & 3" (identifier "bVar5") (= "=") (binary_expression "*(byte *)((long)puVar10 + 0x39) & 3" (pointer_expression "*(byte *)((long)puVar10 + 0x39)" (* "*") (cast_expression "(byte *)((long)puVar10 + 0x39)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar10 + 0x39)" (( "(") (binary_expression "(long)puVar10 + 0x39" (cast_expression "(long)puVar10" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar10")) (+ "+") (number_literal "0x39")) () ")")))) (& "&") (number_literal "3"))) (; ";")) (if_statement "if ((*(byte *)((long)puVar10 + 0x39) & 3) == 0) goto LAB_003101c0;" (if "if") (parenthesized_expression "((*(byte *)((long)puVar10 + 0x39) & 3) == 0)" (( "(") (binary_expression "(*(byte *)((long)puVar10 + 0x39) & 3) == 0" (parenthesized_expression "(*(byte *)((long)puVar10 + 0x39) & 3)" (( "(") (binary_expression "*(byte *)((long)puVar10 + 0x39) & 3" (pointer_expression "*(byte *)((long)puVar10 + 0x39)" (* "*") (cast_expression "(byte *)((long)puVar10 + 0x39)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar10 + 0x39)" (( "(") (binary_expression "(long)puVar10 + 0x39" (cast_expression "(long)puVar10" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar10")) (+ "+") (number_literal "0x39")) () ")")))) (& "&") (number_literal "3")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_003101c0;" (goto "goto") (statement_identifier "LAB_003101c0") (; ";"))) (labeled_statement "LAB_00310166:\n                if (((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)\n                    ) && ((*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0)))) {\nLAB_00310293:\n                  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_003108ca:\n                    \n                    \n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') {\n                    if (bVar16 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)(puVar10[2] + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }" (statement_identifier "LAB_00310166") (: ":") (if_statement "if (((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)\n                    ) && ((*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0)))) {\nLAB_00310293:\n                  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_003108ca:\n                    \n                    \n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') {\n                    if (bVar16 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }\n                else {\nLAB_00310177:\n                  if ((*(byte *)(puVar10[2] + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }" (if "if") (parenthesized_expression "(((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)\n                    ) && ((*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0))))" (( "(") (binary_expression "((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)\n                    ) && ((*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0)))" (parenthesized_expression "((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)\n                    )" (( "(") (binary_expression "(*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)" (parenthesized_expression "(*(int *)(puVar10 + 3) == 0)" (( "(") (binary_expression "*(int *)(puVar10 + 3) == 0" (pointer_expression "*(int *)(puVar10 + 3)" (* "*") (cast_expression "(int *)(puVar10 + 3)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 3)" (( "(") (binary_expression "puVar10 + 3" (identifier "puVar10") (+ "+") (number_literal "3")) () ")")))) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)" (( "(") (binary_expression "(*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0" (parenthesized_expression "(*(byte *)((long)puVar10 + 0x3b) & 0x20)" (( "(") (binary_expression "*(byte *)((long)puVar10 + 0x3b) & 0x20" (pointer_expression "*(byte *)((long)puVar10 + 0x3b)" (* "*") (cast_expression "(byte *)((long)puVar10 + 0x3b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar10 + 0x3b)" (( "(") (binary_expression "(long)puVar10 + 0x3b" (cast_expression "(long)puVar10" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar10")) (+ "+") (number_literal "0x3b")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0)))" (( "(") (parenthesized_expression "(*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0))" (( "(") (binary_expression "*(byte *)(puVar10 + 7) >> 4 != 2 &&\n                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0)" (binary_expression "*(byte *)(puVar10 + 7) >> 4 != 2" (binary_expression "*(byte *)(puVar10 + 7) >> 4" (pointer_expression "*(byte *)(puVar10 + 7)" (* "*") (cast_expression "(byte *)(puVar10 + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 7)" (( "(") (binary_expression "puVar10 + 7" (identifier "puVar10") (+ "+") (number_literal "7")) () ")")))) (>> ">>") (number_literal "4")) (!= "!=") (number_literal "2")) (&& "&&") (parenthesized_expression "((*(byte *)((long)puVar10 + 0x3c) & 2) == 0)" (( "(") (binary_expression "(*(byte *)((long)puVar10 + 0x3c) & 2) == 0" (parenthesized_expression "(*(byte *)((long)puVar10 + 0x3c) & 2)" (( "(") (binary_expression "*(byte *)((long)puVar10 + 0x3c) & 2" (pointer_expression "*(byte *)((long)puVar10 + 0x3c)" (* "*") (cast_expression "(byte *)((long)puVar10 + 0x3c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar10 + 0x3c)" (( "(") (binary_expression "(long)puVar10 + 0x3c" (cast_expression "(long)puVar10" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar10")) (+ "+") (number_literal "0x3c")) () ")")))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\nLAB_00310293:\n                  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_003108ca:\n                    \n                    \n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n                  }\n                  if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') {\n                    if (bVar16 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }\n                }" ({ "{") (labeled_statement "LAB_00310293:\n                  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_003108ca:\n                    \n                    \n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n                  }" (statement_identifier "LAB_00310293") (: ":") (if_statement "if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_003108ca:\n                    \n                    \n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n                  }" (if "if") (parenthesized_expression "(*(long *)(PTR_DAT_0067cb08 + 0x10) == 0)" (( "(") (binary_expression "*(long *)(PTR_DAT_0067cb08 + 0x10) == 0" (pointer_expression "*(long *)(PTR_DAT_0067cb08 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_0067cb08 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0067cb08 + 0x10)" (( "(") (binary_expression "PTR_DAT_0067cb08 + 0x10" (identifier "PTR_DAT_0067cb08") (+ "+") (number_literal "0x10")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_003108ca:\n                    \n                    \n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n                  }" ({ "{") (labeled_statement "LAB_003108ca:\n                    \n                    \n                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");" (statement_identifier "LAB_003108ca") (: ":") (expression_statement "FUN_00352af0("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_00352af0("../../gold/parameters.h",0x5c,"options")" (identifier "FUN_00352af0") (argument_list "("../../gold/parameters.h",0x5c,"options")" (( "(") (string_literal ""../../gold/parameters.h"" (" """) (string_content "../../gold/parameters.h") (" """)) (, ",") (number_literal "0x5c") (, ",") (string_literal ""options"" (" """) (string_content "options") (" """)) () ")"))) (; ";"))) (} "}")))) (if_statement "if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') {\n                    if (bVar16 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }" (if "if") (parenthesized_expression "(*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0')" (( "(") (binary_expression "*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0'" (pointer_expression "*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739)" (* "*") (cast_expression "(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739)" (( "(") (binary_expression "*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739" (pointer_expression "*(long *)(PTR_DAT_0067cb08 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_0067cb08 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0067cb08 + 0x10)" (( "(") (binary_expression "PTR_DAT_0067cb08 + 0x10" (identifier "PTR_DAT_0067cb08") (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (number_literal "0x7739")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                    if (bVar16 != 0) goto LAB_003101c0;\n                    goto LAB_00310177;\n                  }" ({ "{") (if_statement "if (bVar16 != 0) goto LAB_003101c0;" (if "if") (parenthesized_expression "(bVar16 != 0)" (( "(") (binary_expression "bVar16 != 0" (identifier "bVar16") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_003101c0;" (goto "goto") (statement_identifier "LAB_003101c0") (; ";"))) (goto_statement "goto LAB_00310177;" (goto "goto") (statement_identifier "LAB_00310177") (; ";")) (} "}"))) (} "}")) (else_clause "else {\nLAB_00310177:\n                  if ((*(byte *)(puVar10[2] + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }" (else "else") (compound_statement "{\nLAB_00310177:\n                  if ((*(byte *)(puVar10[2] + 0x3c) & 1) == 0) goto LAB_003101c0;\n                }" ({ "{") (labeled_statement "LAB_00310177:\n                  if ((*(byte *)(puVar10[2] + 0x3c) & 1) == 0) goto LAB_003101c0;" (statement_identifier "LAB_00310177") (: ":") (if_statement "if ((*(byte *)(puVar10[2] + 0x3c) & 1) == 0) goto LAB_003101c0;" (if "if") (parenthesized_expression "((*(byte *)(puVar10[2] + 0x3c) & 1) == 0)" (( "(") (binary_expression "(*(byte *)(puVar10[2] + 0x3c) & 1) == 0" (parenthesized_expression "(*(byte *)(puVar10[2] + 0x3c) & 1)" (( "(") (binary_expression "*(byte *)(puVar10[2] + 0x3c) & 1" (pointer_expression "*(byte *)(puVar10[2] + 0x3c)" (* "*") (cast_expression "(byte *)(puVar10[2] + 0x3c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10[2] + 0x3c)" (( "(") (binary_expression "puVar10[2] + 0x3c" (subscript_expression "puVar10[2]" (identifier "puVar10") ([ "[") (number_literal "2") (] "]")) (+ "+") (number_literal "0x3c")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_003101c0;" (goto "goto") (statement_identifier "LAB_003101c0") (; ";")))) (} "}"))))) (if_statement "if (bVar5 == 2) {\n                  uVar9 = gettext("hidden");\n                }\n                else if (bVar5 < 3) {\n                  if (bVar5 != 1) {\n                    \n                    FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar9 = gettext("internal");\n                }\n                else {\n                  uVar9 = gettext("protected");\n                }" (if "if") (parenthesized_expression "(bVar5 == 2)" (( "(") (binary_expression "bVar5 == 2" (identifier "bVar5") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n                  uVar9 = gettext("hidden");\n                }" ({ "{") (expression_statement "uVar9 = gettext("hidden");" (assignment_expression "uVar9 = gettext("hidden")" (identifier "uVar9") (= "=") (call_expression "gettext("hidden")" (identifier "gettext") (argument_list "("hidden")" (( "(") (string_literal ""hidden"" (" """) (string_content "hidden") (" """)) () ")")))) (; ";")) (} "}")) (else_clause "else if (bVar5 < 3) {\n                  if (bVar5 != 1) {\n                    \n                    FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar9 = gettext("internal");\n                }\n                else {\n                  uVar9 = gettext("protected");\n                }" (else "else") (if_statement "if (bVar5 < 3) {\n                  if (bVar5 != 1) {\n                    \n                    FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar9 = gettext("internal");\n                }\n                else {\n                  uVar9 = gettext("protected");\n                }" (if "if") (parenthesized_expression "(bVar5 < 3)" (( "(") (binary_expression "bVar5 < 3" (identifier "bVar5") (< "<") (number_literal "3")) () ")")) (compound_statement "{\n                  if (bVar5 != 1) {\n                    \n                    FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }\n                  uVar9 = gettext("internal");\n                }" ({ "{") (if_statement "if (bVar5 != 1) {\n                    \n                    FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }" (if "if") (parenthesized_expression "(bVar5 != 1)" (( "(") (binary_expression "bVar5 != 1" (identifier "bVar5") (!= "!=") (number_literal "1")) () ")")) (compound_statement "{\n                    \n                    FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");\n                  }" ({ "{") (expression_statement "FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");" (call_expression "FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error")" (identifier "FUN_00352af0") (argument_list "("../../gold/target-reloc.h",0xa4,"visibility_error")" (( "(") (string_literal ""../../gold/target-reloc.h"" (" """) (string_content "../../gold/target-reloc.h") (" """)) (, ",") (number_literal "0xa4") (, ",") (string_literal ""visibility_error"" (" """) (string_content "visibility_error") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "uVar9 = gettext("internal");" (assignment_expression "uVar9 = gettext("internal")" (identifier "uVar9") (= "=") (call_expression "gettext("internal")" (identifier "gettext") (argument_list "("internal")" (( "(") (string_literal ""internal"" (" """) (string_content "internal") (" """)) () ")")))) (; ";")) (} "}")) (else_clause "else {\n                  uVar9 = gettext("protected");\n                }" (else "else") (compound_statement "{\n                  uVar9 = gettext("protected");\n                }" ({ "{") (expression_statement "uVar9 = gettext("protected");" (assignment_expression "uVar9 = gettext("protected")" (identifier "uVar9") (= "=") (call_expression "gettext("protected")" (identifier "gettext") (argument_list "("protected")" (( "(") (string_literal ""protected"" (" """) (string_content "protected") (" """)) () ")")))) (; ";")) (} "}")))))) (expression_statement "uVar11 = *puVar10;" (assignment_expression "uVar11 = *puVar10" (identifier "uVar11") (= "=") (pointer_expression "*puVar10" (* "*") (identifier "puVar10"))) (; ";")) (expression_statement "uVar12 = gettext("%s symbol \'%s\' is not defined locally");" (assignment_expression "uVar12 = gettext("%s symbol \'%s\' is not defined locally")" (identifier "uVar12") (= "=") (call_expression "gettext("%s symbol \'%s\' is not defined locally")" (identifier "gettext") (argument_list "("%s symbol \'%s\' is not defined locally")" (( "(") (string_literal ""%s symbol \'%s\' is not defined locally"" (" """) (string_content "%s symbol ") (escape_sequence "\'") (string_content "%s") (escape_sequence "\'") (string_content " is not defined locally") (" """)) () ")")))) (; ";")) (expression_statement "FUN_0034a750(uVar12,uVar9,uVar11);" (call_expression "FUN_0034a750(uVar12,uVar9,uVar11)" (identifier "FUN_0034a750") (argument_list "(uVar12,uVar9,uVar11)" (( "(") (identifier "uVar12") (, ",") (identifier "uVar9") (, ",") (identifier "uVar11") () ")"))) (; ";")) (goto_statement "goto LAB_003101c0;" (goto "goto") (statement_identifier "LAB_003101c0") (; ";")) (} "}"))) (labeled_statement "LAB_0031020c:\n              if ((*(byte *)(puVar10 + 7) >> 4 == 2) || ((*(byte *)((long)puVar10 + 0x3c) & 2) != 0)\n                 ) {\nLAB_00310438:\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_0031043f:\n                if (bVar5 == 0) goto LAB_003101c0;\n                bVar16 = *(byte *)((long)puVar10 + 0x3a) & 7;\n                if (bVar16 != 0) goto LAB_00310270;\n                goto LAB_00310166;\n              }" (statement_identifier "LAB_0031020c") (: ":") (if_statement "if ((*(byte *)(puVar10 + 7) >> 4 == 2) || ((*(byte *)((long)puVar10 + 0x3c) & 2) != 0)\n                 ) {\nLAB_00310438:\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_0031043f:\n                if (bVar5 == 0) goto LAB_003101c0;\n                bVar16 = *(byte *)((long)puVar10 + 0x3a) & 7;\n                if (bVar16 != 0) goto LAB_00310270;\n                goto LAB_00310166;\n              }" (if "if") (parenthesized_expression "((*(byte *)(puVar10 + 7) >> 4 == 2) || ((*(byte *)((long)puVar10 + 0x3c) & 2) != 0)\n                 )" (( "(") (binary_expression "(*(byte *)(puVar10 + 7) >> 4 == 2) || ((*(byte *)((long)puVar10 + 0x3c) & 2) != 0)" (parenthesized_expression "(*(byte *)(puVar10 + 7) >> 4 == 2)" (( "(") (binary_expression "*(byte *)(puVar10 + 7) >> 4 == 2" (binary_expression "*(byte *)(puVar10 + 7) >> 4" (pointer_expression "*(byte *)(puVar10 + 7)" (* "*") (cast_expression "(byte *)(puVar10 + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 7)" (( "(") (binary_expression "puVar10 + 7" (identifier "puVar10") (+ "+") (number_literal "7")) () ")")))) (>> ">>") (number_literal "4")) (== "==") (number_literal "2")) () ")")) (|| "||") (parenthesized_expression "((*(byte *)((long)puVar10 + 0x3c) & 2) != 0)" (( "(") (binary_expression "(*(byte *)((long)puVar10 + 0x3c) & 2) != 0" (parenthesized_expression "(*(byte *)((long)puVar10 + 0x3c) & 2)" (( "(") (binary_expression "*(byte *)((long)puVar10 + 0x3c) & 2" (pointer_expression "*(byte *)((long)puVar10 + 0x3c)" (* "*") (cast_expression "(byte *)((long)puVar10 + 0x3c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar10 + 0x3c)" (( "(") (binary_expression "(long)puVar10 + 0x3c" (cast_expression "(long)puVar10" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar10")) (+ "+") (number_literal "0x3c")) () ")")))) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\nLAB_00310438:\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_0031043f:\n                if (bVar5 == 0) goto LAB_003101c0;\n                bVar16 = *(byte *)((long)puVar10 + 0x3a) & 7;\n                if (bVar16 != 0) goto LAB_00310270;\n                goto LAB_00310166;\n              }" ({ "{") (labeled_statement "LAB_00310438:\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;" (statement_identifier "LAB_00310438") (: ":") (expression_statement "bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;" (assignment_expression "bVar5 = *(byte *)((long)puVar10 + 0x39) & 3" (identifier "bVar5") (= "=") (binary_expression "*(byte *)((long)puVar10 + 0x39) & 3" (pointer_expression "*(byte *)((long)puVar10 + 0x39)" (* "*") (cast_expression "(byte *)((long)puVar10 + 0x39)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar10 + 0x39)" (( "(") (binary_expression "(long)puVar10 + 0x39" (cast_expression "(long)puVar10" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar10")) (+ "+") (number_literal "0x39")) () ")")))) (& "&") (number_literal "3"))) (; ";"))) (labeled_statement "LAB_0031043f:\n                if (bVar5 == 0) goto LAB_003101c0;" (statement_identifier "LAB_0031043f") (: ":") (if_statement "if (bVar5 == 0) goto LAB_003101c0;" (if "if") (parenthesized_expression "(bVar5 == 0)" (( "(") (binary_expression "bVar5 == 0" (identifier "bVar5") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_003101c0;" (goto "goto") (statement_identifier "LAB_003101c0") (; ";")))) (expression_statement "bVar16 = *(byte *)((long)puVar10 + 0x3a) & 7;" (assignment_expression "bVar16 = *(byte *)((long)puVar10 + 0x3a) & 7" (identifier "bVar16") (= "=") (binary_expression "*(byte *)((long)puVar10 + 0x3a) & 7" (pointer_expression "*(byte *)((long)puVar10 + 0x3a)" (* "*") (cast_expression "(byte *)((long)puVar10 + 0x3a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar10 + 0x3a)" (( "(") (binary_expression "(long)puVar10 + 0x3a" (cast_expression "(long)puVar10" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar10")) (+ "+") (number_literal "0x3a")) () ")")))) (& "&") (number_literal "7"))) (; ";")) (if_statement "if (bVar16 != 0) goto LAB_00310270;" (if "if") (parenthesized_expression "(bVar16 != 0)" (( "(") (binary_expression "bVar16 != 0" (identifier "bVar16") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00310270;" (goto "goto") (statement_identifier "LAB_00310270") (; ";"))) (goto_statement "goto LAB_00310166;" (goto "goto") (statement_identifier "LAB_00310166") (; ";")) (} "}")))) (if_statement "if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\n                    \n                    \n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }" (if "if") (parenthesized_expression "(*(long *)(PTR_DAT_0067cb08 + 0x10) == 0)" (( "(") (binary_expression "*(long *)(PTR_DAT_0067cb08 + 0x10) == 0" (pointer_expression "*(long *)(PTR_DAT_0067cb08 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_0067cb08 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0067cb08 + 0x10)" (( "(") (binary_expression "PTR_DAT_0067cb08 + 0x10" (identifier "PTR_DAT_0067cb08") (+ "+") (number_literal "0x10")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n                    \n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }" ({ "{") (expression_statement "FUN_00352af0("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_00352af0("../../gold/parameters.h",0x5c,"options")" (identifier "FUN_00352af0") (argument_list "("../../gold/parameters.h",0x5c,"options")" (( "(") (string_literal ""../../gold/parameters.h"" (" """) (string_content "../../gold/parameters.h") (" """)) (, ",") (number_literal "0x5c") (, ",") (string_literal ""options"" (" """) (string_content "options") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') goto LAB_00310438;" (if "if") (parenthesized_expression "(*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0')" (( "(") (binary_expression "*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0'" (pointer_expression "*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739)" (* "*") (cast_expression "(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739)" (( "(") (binary_expression "*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739" (pointer_expression "*(long *)(PTR_DAT_0067cb08 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_0067cb08 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0067cb08 + 0x10)" (( "(") (binary_expression "PTR_DAT_0067cb08 + 0x10" (identifier "PTR_DAT_0067cb08") (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (number_literal "0x7739")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_00310438;" (goto "goto") (statement_identifier "LAB_00310438") (; ";"))) (if_statement "if (*(char *)((long)puVar10 + 0x3b) < '\0') {\n                if (bVar5 != 0) goto LAB_00310260;\nLAB_003105b8:\n                if (*(code **)(*(long *)puVar10[2] + 0x28) == FUN_001a4aa0) goto LAB_0031015a;\n                    \n                lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                if (lVar13 == 0) goto LAB_00310438;\n              }" (if "if") (parenthesized_expression "(*(char *)((long)puVar10 + 0x3b) < '\0')" (( "(") (binary_expression "*(char *)((long)puVar10 + 0x3b) < '\0'" (pointer_expression "*(char *)((long)puVar10 + 0x3b)" (* "*") (cast_expression "(char *)((long)puVar10 + 0x3b)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar10 + 0x3b)" (( "(") (binary_expression "(long)puVar10 + 0x3b" (cast_expression "(long)puVar10" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar10")) (+ "+") (number_literal "0x3b")) () ")")))) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                if (bVar5 != 0) goto LAB_00310260;\nLAB_003105b8:\n                if (*(code **)(*(long *)puVar10[2] + 0x28) == FUN_001a4aa0) goto LAB_0031015a;\n                    \n                lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();\n                if (lVar13 == 0) goto LAB_00310438;\n              }" ({ "{") (if_statement "if (bVar5 != 0) goto LAB_00310260;" (if "if") (parenthesized_expression "(bVar5 != 0)" (( "(") (binary_expression "bVar5 != 0" (identifier "bVar5") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00310260;" (goto "goto") (statement_identifier "LAB_00310260") (; ";"))) (labeled_statement "LAB_003105b8:\n                if (*(code **)(*(long *)puVar10[2] + 0x28) == FUN_001a4aa0) goto LAB_0031015a;" (statement_identifier "LAB_003105b8") (: ":") (if_statement "if (*(code **)(*(long *)puVar10[2] + 0x28) == FUN_001a4aa0) goto LAB_0031015a;" (if "if") (parenthesized_expression "(*(code **)(*(long *)puVar10[2] + 0x28) == FUN_001a4aa0)" (( "(") (binary_expression "*(code **)(*(long *)puVar10[2] + 0x28) == FUN_001a4aa0" (pointer_expression "*(code **)(*(long *)puVar10[2] + 0x28)" (* "*") (cast_expression "(code **)(*(long *)puVar10[2] + 0x28)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(long *)puVar10[2] + 0x28)" (( "(") (binary_expression "*(long *)puVar10[2] + 0x28" (pointer_expression "*(long *)puVar10[2]" (* "*") (cast_expression "(long *)puVar10[2]" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar10[2]" (identifier "puVar10") ([ "[") (number_literal "2") (] "]")))) (+ "+") (number_literal "0x28")) () ")")))) (== "==") (identifier "FUN_001a4aa0")) () ")")) (goto_statement "goto LAB_0031015a;" (goto "goto") (statement_identifier "LAB_0031015a") (; ";")))) (expression_statement "lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();" (assignment_expression "lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))()" (identifier "lVar13") (= "=") (call_expression "(**(code **)(*(long *)puVar10[2] + 0x28))()" (parenthesized_expression "(**(code **)(*(long *)puVar10[2] + 0x28))" (( "(") (pointer_expression "**(code **)(*(long *)puVar10[2] + 0x28)" (* "*") (pointer_expression "*(code **)(*(long *)puVar10[2] + 0x28)" (* "*") (cast_expression "(code **)(*(long *)puVar10[2] + 0x28)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(long *)puVar10[2] + 0x28)" (( "(") (binary_expression "*(long *)puVar10[2] + 0x28" (pointer_expression "*(long *)puVar10[2]" (* "*") (cast_expression "(long *)puVar10[2]" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar10[2]" (identifier "puVar10") ([ "[") (number_literal "2") (] "]")))) (+ "+") (number_literal "0x28")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (lVar13 == 0) goto LAB_00310438;" (if "if") (parenthesized_expression "(lVar13 == 0)" (( "(") (binary_expression "lVar13 == 0" (identifier "lVar13") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00310438;" (goto "goto") (statement_identifier "LAB_00310438") (; ";"))) (} "}"))) (labeled_statement "LAB_00310305:\n              plVar3 = *(long **)(PTR_DAT_0067cb08 + 0x18);" (statement_identifier "LAB_00310305") (: ":") (expression_statement "plVar3 = *(long **)(PTR_DAT_0067cb08 + 0x18);" (assignment_expression "plVar3 = *(long **)(PTR_DAT_0067cb08 + 0x18)" (identifier "plVar3") (= "=") (pointer_expression "*(long **)(PTR_DAT_0067cb08 + 0x18)" (* "*") (cast_expression "(long **)(PTR_DAT_0067cb08 + 0x18)" (( "(") (type_descriptor "long **" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(PTR_DAT_0067cb08 + 0x18)" (( "(") (binary_expression "PTR_DAT_0067cb08 + 0x18" (identifier "PTR_DAT_0067cb08") (+ "+") (number_literal "0x18")) () ")"))))) (; ";"))) (if_statement "if (plVar3 == (long *)0x0) {\nLAB_00310805:\n                    \n                    \n                FUN_00352af0("../../gold/parameters.h",0x69,"target");\n              }" (if "if") (parenthesized_expression "(plVar3 == (long *)0x0)" (( "(") (binary_expression "plVar3 == (long *)0x0" (identifier "plVar3") (== "==") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_00310805:\n                    \n                    \n                FUN_00352af0("../../gold/parameters.h",0x69,"target");\n              }" ({ "{") (labeled_statement "LAB_00310805:\n                    \n                    \n                FUN_00352af0("../../gold/parameters.h",0x69,"target");" (statement_identifier "LAB_00310805") (: ":") (expression_statement "FUN_00352af0("../../gold/parameters.h",0x69,"target");" (call_expression "FUN_00352af0("../../gold/parameters.h",0x69,"target")" (identifier "FUN_00352af0") (argument_list "("../../gold/parameters.h",0x69,"target")" (( "(") (string_literal ""../../gold/parameters.h"" (" """) (string_content "../../gold/parameters.h") (" """)) (, ",") (number_literal "0x69") (, ",") (string_literal ""target"" (" """) (string_content "target") (" """)) () ")"))) (; ";"))) (} "}"))) (if_statement "if ((*(code **)(*plVar3 + 0x38) != FUN_001a49e0) &&\n                 (cVar4 = (**(code **)(*plVar3 + 0x38))(plVar3,puVar10), cVar4 != '\0'))\n              goto LAB_00310438;" (if "if") (parenthesized_expression "((*(code **)(*plVar3 + 0x38) != FUN_001a49e0) &&\n                 (cVar4 = (**(code **)(*plVar3 + 0x38))(plVar3,puVar10), cVar4 != '\0'))" (( "(") (binary_expression "(*(code **)(*plVar3 + 0x38) != FUN_001a49e0) &&\n                 (cVar4 = (**(code **)(*plVar3 + 0x38))(plVar3,puVar10), cVar4 != '\0')" (parenthesized_expression "(*(code **)(*plVar3 + 0x38) != FUN_001a49e0)" (( "(") (binary_expression "*(code **)(*plVar3 + 0x38) != FUN_001a49e0" (pointer_expression "*(code **)(*plVar3 + 0x38)" (* "*") (cast_expression "(code **)(*plVar3 + 0x38)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar3 + 0x38)" (( "(") (binary_expression "*plVar3 + 0x38" (pointer_expression "*plVar3" (* "*") (identifier "plVar3")) (+ "+") (number_literal "0x38")) () ")")))) (!= "!=") (identifier "FUN_001a49e0")) () ")")) (&& "&&") (parenthesized_expression "(cVar4 = (**(code **)(*plVar3 + 0x38))(plVar3,puVar10), cVar4 != '\0')" (( "(") (comma_expression "cVar4 = (**(code **)(*plVar3 + 0x38))(plVar3,puVar10), cVar4 != '\0'" (assignment_expression "cVar4 = (**(code **)(*plVar3 + 0x38))(plVar3,puVar10)" (identifier "cVar4") (= "=") (call_expression "(**(code **)(*plVar3 + 0x38))(plVar3,puVar10)" (parenthesized_expression "(**(code **)(*plVar3 + 0x38))" (( "(") (pointer_expression "**(code **)(*plVar3 + 0x38)" (* "*") (pointer_expression "*(code **)(*plVar3 + 0x38)" (* "*") (cast_expression "(code **)(*plVar3 + 0x38)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar3 + 0x38)" (( "(") (binary_expression "*plVar3 + 0x38" (pointer_expression "*plVar3" (* "*") (identifier "plVar3")) (+ "+") (number_literal "0x38")) () ")"))))) () ")")) (argument_list "(plVar3,puVar10)" (( "(") (identifier "plVar3") (, ",") (identifier "puVar10") () ")")))) (, ",") (binary_expression "cVar4 != '\0'" (identifier "cVar4") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) () ")"))) () ")")) (goto_statement "goto LAB_00310438;" (goto "goto") (statement_identifier "LAB_00310438") (; ";"))) (expression_statement "lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);" (assignment_expression "lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10)" (identifier "lVar13") (= "=") (pointer_expression "*(long *)(PTR_DAT_0067cb08 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_0067cb08 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0067cb08 + 0x10)" (( "(") (binary_expression "PTR_DAT_0067cb08 + 0x10" (identifier "PTR_DAT_0067cb08") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (if_statement "if (lVar13 == 0) {\n                    \n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }" (if "if") (parenthesized_expression "(lVar13 == 0)" (( "(") (binary_expression "lVar13 == 0" (identifier "lVar13") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n                FUN_00352af0("../../gold/parameters.h",0x5c,"options");\n              }" ({ "{") (expression_statement "FUN_00352af0("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_00352af0("../../gold/parameters.h",0x5c,"options")" (identifier "FUN_00352af0") (argument_list "("../../gold/parameters.h",0x5c,"options")" (( "(") (string_literal ""../../gold/parameters.h"" (" """) (string_content "../../gold/parameters.h") (" """)) (, ",") (number_literal "0x5c") (, ",") (string_literal ""options"" (" """) (string_content "options") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "pbVar18 = *(byte **)(lVar13 + 0x6c40);" (assignment_expression "pbVar18 = *(byte **)(lVar13 + 0x6c40)" (identifier "pbVar18") (= "=") (pointer_expression "*(byte **)(lVar13 + 0x6c40)" (* "*") (cast_expression "(byte **)(lVar13 + 0x6c40)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar13 + 0x6c40)" (( "(") (binary_expression "lVar13 + 0x6c40" (identifier "lVar13") (+ "+") (number_literal "0x6c40")) () ")"))))) (; ";")) (expression_statement "bVar24 = false;" (assignment_expression "bVar24 = false" (identifier "bVar24") (= "=") (false "false")) (; ";")) (expression_statement "bVar26 = pbVar18 == (byte *)0x0;" (assignment_expression "bVar26 = pbVar18 == (byte *)0x0" (identifier "bVar26") (= "=") (binary_expression "pbVar18 == (byte *)0x0" (identifier "pbVar18") (== "==") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) (; ";")) (if_statement "if (bVar26) {\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_003103c9:\n                if ((bVar5 == 2) ||\n                   ((*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0'))))\n                goto LAB_003103e1;\n                goto LAB_0031043f;\n              }" (if "if") (parenthesized_expression "(bVar26)" (( "(") (identifier "bVar26") () ")")) (compound_statement "{\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\nLAB_003103c9:\n                if ((bVar5 == 2) ||\n                   ((*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0'))))\n                goto LAB_003103e1;\n                goto LAB_0031043f;\n              }" ({ "{") (expression_statement "bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;" (assignment_expression "bVar5 = *(byte *)((long)puVar10 + 0x39) & 3" (identifier "bVar5") (= "=") (binary_expression "*(byte *)((long)puVar10 + 0x39) & 3" (pointer_expression "*(byte *)((long)puVar10 + 0x39)" (* "*") (cast_expression "(byte *)((long)puVar10 + 0x39)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar10 + 0x39)" (( "(") (binary_expression "(long)puVar10 + 0x39" (cast_expression "(long)puVar10" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar10")) (+ "+") (number_literal "0x39")) () ")")))) (& "&") (number_literal "3"))) (; ";")) (labeled_statement "LAB_003103c9:\n                if ((bVar5 == 2) ||\n                   ((*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0'))))\n                goto LAB_003103e1;" (statement_identifier "LAB_003103c9") (: ":") (if_statement "if ((bVar5 == 2) ||\n                   ((*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0'))))\n                goto LAB_003103e1;" (if "if") (parenthesized_expression "((bVar5 == 2) ||\n                   ((*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0'))))" (( "(") (binary_expression "(bVar5 == 2) ||\n                   ((*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0')))" (parenthesized_expression "(bVar5 == 2)" (( "(") (binary_expression "bVar5 == 2" (identifier "bVar5") (== "==") (number_literal "2")) () ")")) (|| "||") (parenthesized_expression "((*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0')))" (( "(") (parenthesized_expression "(*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0'))" (( "(") (binary_expression "*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0')" (binary_expression "*(char *)(lVar13 + 0x2a61) == '\0'" (pointer_expression "*(char *)(lVar13 + 0x2a61)" (* "*") (cast_expression "(char *)(lVar13 + 0x2a61)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar13 + 0x2a61)" (( "(") (binary_expression "lVar13 + 0x2a61" (identifier "lVar13") (+ "+") (number_literal "0x2a61")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (|| "||") (parenthesized_expression "(*(char *)(lVar13 + 0x7f71) != '\0')" (( "(") (binary_expression "*(char *)(lVar13 + 0x7f71) != '\0'" (pointer_expression "*(char *)(lVar13 + 0x7f71)" (* "*") (cast_expression "(char *)(lVar13 + 0x7f71)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar13 + 0x7f71)" (( "(") (binary_expression "lVar13 + 0x7f71" (identifier "lVar13") (+ "+") (number_literal "0x7f71")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_003103e1;" (goto "goto") (statement_identifier "LAB_003103e1") (; ";")))) (goto_statement "goto LAB_0031043f;" (goto "goto") (statement_identifier "LAB_0031043f") (; ";")) (} "}"))) (expression_statement "lVar15 = 0xb;" (assignment_expression "lVar15 = 0xb" (identifier "lVar15") (= "=") (number_literal "0xb")) (; ";")) (expression_statement "pbVar19 = pbVar18;" (assignment_expression "pbVar19 = pbVar18" (identifier "pbVar19") (= "=") (identifier "pbVar18")) (; ";")) (expression_statement "pbVar20 = (byte *)"ignore-all";" (assignment_expression "pbVar20 = (byte *)"ignore-all"" (identifier "pbVar20") (= "=") (cast_expression "(byte *)"ignore-all"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal ""ignore-all"" (" """) (string_content "ignore-all") (" """)))) (; ";")) (do_statement "do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar24 = *pbVar19 < *pbVar20;\n                bVar26 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar26);" (do "do") (compound_statement "{\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar24 = *pbVar19 < *pbVar20;\n                bVar26 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              }" ({ "{") (if_statement "if (lVar15 == 0) break;" (if "if") (parenthesized_expression "(lVar15 == 0)" (( "(") (binary_expression "lVar15 == 0" (identifier "lVar15") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar15 = lVar15 + -1;" (assignment_expression "lVar15 = lVar15 + -1" (identifier "lVar15") (= "=") (binary_expression "lVar15 + -1" (identifier "lVar15") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar24 = *pbVar19 < *pbVar20;" (assignment_expression "bVar24 = *pbVar19 < *pbVar20" (identifier "bVar24") (= "=") (binary_expression "*pbVar19 < *pbVar20" (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19")) (< "<") (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")))) (; ";")) (expression_statement "bVar26 = *pbVar19 == *pbVar20;" (assignment_expression "bVar26 = *pbVar19 == *pbVar20" (identifier "bVar26") (= "=") (binary_expression "*pbVar19 == *pbVar20" (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19")) (== "==") (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")))) (; ";")) (expression_statement "pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;" (assignment_expression "pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1" (identifier "pbVar19") (= "=") (binary_expression "pbVar19 + (ulong)bVar27 * -2 + 1" (binary_expression "pbVar19 + (ulong)bVar27 * -2" (identifier "pbVar19") (+ "+") (binary_expression "(ulong)bVar27 * -2" (cast_expression "(ulong)bVar27" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar27")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1" (identifier "pbVar20") (= "=") (binary_expression "pbVar20 + (ulong)bVar27 * -2 + 1" (binary_expression "pbVar20 + (ulong)bVar27 * -2" (identifier "pbVar20") (+ "+") (binary_expression "(ulong)bVar27 * -2" (cast_expression "(ulong)bVar27" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar27")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar26)" (( "(") (identifier "bVar26") () ")")) (; ";")) (expression_statement "bVar25 = false;" (assignment_expression "bVar25 = false" (identifier "bVar25") (= "=") (false "false")) (; ";")) (expression_statement "bVar24 = (!bVar24 && !bVar26) == bVar24;" (assignment_expression "bVar24 = (!bVar24 && !bVar26) == bVar24" (identifier "bVar24") (= "=") (binary_expression "(!bVar24 && !bVar26) == bVar24" (parenthesized_expression "(!bVar24 && !bVar26)" (( "(") (binary_expression "!bVar24 && !bVar26" (unary_expression "!bVar24" (! "!") (identifier "bVar24")) (&& "&&") (unary_expression "!bVar26" (! "!") (identifier "bVar26"))) () ")")) (== "==") (identifier "bVar24"))) (; ";")) (if_statement "if (bVar24) goto LAB_00310438;" (if "if") (parenthesized_expression "(bVar24)" (( "(") (identifier "bVar24") () ")")) (goto_statement "goto LAB_00310438;" (goto "goto") (statement_identifier "LAB_00310438") (; ";"))) (expression_statement "lVar15 = 0xb;" (assignment_expression "lVar15 = 0xb" (identifier "lVar15") (= "=") (number_literal "0xb")) (; ";")) (expression_statement "pbVar19 = pbVar18;" (assignment_expression "pbVar19 = pbVar18" (identifier "pbVar19") (= "=") (identifier "pbVar18")) (; ";")) (expression_statement "pbVar20 = (byte *)"report-all";" (assignment_expression "pbVar20 = (byte *)"report-all"" (identifier "pbVar20") (= "=") (cast_expression "(byte *)"report-all"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal ""report-all"" (" """) (string_content "report-all") (" """)))) (; ";")) (do_statement "do {\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar25 = *pbVar19 < *pbVar20;\n                bVar24 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              } while (bVar24);" (do "do") (compound_statement "{\n                if (lVar15 == 0) break;\n                lVar15 = lVar15 + -1;\n                bVar25 = *pbVar19 < *pbVar20;\n                bVar24 = *pbVar19 == *pbVar20;\n                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n              }" ({ "{") (if_statement "if (lVar15 == 0) break;" (if "if") (parenthesized_expression "(lVar15 == 0)" (( "(") (binary_expression "lVar15 == 0" (identifier "lVar15") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar15 = lVar15 + -1;" (assignment_expression "lVar15 = lVar15 + -1" (identifier "lVar15") (= "=") (binary_expression "lVar15 + -1" (identifier "lVar15") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar25 = *pbVar19 < *pbVar20;" (assignment_expression "bVar25 = *pbVar19 < *pbVar20" (identifier "bVar25") (= "=") (binary_expression "*pbVar19 < *pbVar20" (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19")) (< "<") (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")))) (; ";")) (expression_statement "bVar24 = *pbVar19 == *pbVar20;" (assignment_expression "bVar24 = *pbVar19 == *pbVar20" (identifier "bVar24") (= "=") (binary_expression "*pbVar19 == *pbVar20" (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19")) (== "==") (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")))) (; ";")) (expression_statement "pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;" (assignment_expression "pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1" (identifier "pbVar19") (= "=") (binary_expression "pbVar19 + (ulong)bVar27 * -2 + 1" (binary_expression "pbVar19 + (ulong)bVar27 * -2" (identifier "pbVar19") (+ "+") (binary_expression "(ulong)bVar27 * -2" (cast_expression "(ulong)bVar27" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar27")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1" (identifier "pbVar20") (= "=") (binary_expression "pbVar20 + (ulong)bVar27 * -2 + 1" (binary_expression "pbVar20 + (ulong)bVar27 * -2" (identifier "pbVar20") (+ "+") (binary_expression "(ulong)bVar27 * -2" (cast_expression "(ulong)bVar27" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar27")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar24)" (( "(") (identifier "bVar24") () ")")) (; ";")) (expression_statement "bVar26 = false;" (assignment_expression "bVar26 = false" (identifier "bVar26") (= "=") (false "false")) (; ";")) (expression_statement "bVar24 = (!bVar25 && !bVar24) == bVar25;" (assignment_expression "bVar24 = (!bVar25 && !bVar24) == bVar25" (identifier "bVar24") (= "=") (binary_expression "(!bVar25 && !bVar24) == bVar25" (parenthesized_expression "(!bVar25 && !bVar24)" (( "(") (binary_expression "!bVar25 && !bVar24" (unary_expression "!bVar25" (! "!") (identifier "bVar25")) (&& "&&") (unary_expression "!bVar24" (! "!") (identifier "bVar24"))) () ")")) (== "==") (identifier "bVar25"))) (; ";")) (if_statement "if (!bVar24) {\n                lVar15 = 0x17;\n                pbVar19 = pbVar18;\n                pbVar20 = (byte *)"ignore-in-object-files";\n                do {\n                  if (lVar15 == 0) break;\n                  lVar15 = lVar15 + -1;\n                  bVar26 = *pbVar19 < *pbVar20;\n                  bVar24 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if ((!bVar24) || (bVar24 = (*(byte *)((long)puVar10 + 0x3b) & 1) == 0, !bVar24)) {\n                  bVar26 = false;\n                  lVar15 = 0x16;\n                  pbVar19 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    if (lVar15 == 0) break;\n                    lVar15 = lVar15 + -1;\n                    bVar26 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  if (((!bVar26 && !bVar24) != bVar26) || (*(char *)((long)puVar10 + 0x3a) < '\0'))\n                  goto LAB_003103c9;\n                }\n                goto LAB_0031043f;\n              }" (if "if") (parenthesized_expression "(!bVar24)" (( "(") (unary_expression "!bVar24" (! "!") (identifier "bVar24")) () ")")) (compound_statement "{\n                lVar15 = 0x17;\n                pbVar19 = pbVar18;\n                pbVar20 = (byte *)"ignore-in-object-files";\n                do {\n                  if (lVar15 == 0) break;\n                  lVar15 = lVar15 + -1;\n                  bVar26 = *pbVar19 < *pbVar20;\n                  bVar24 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);\n                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;\n                bVar24 = (!bVar26 && !bVar24) == bVar26;\n                if ((!bVar24) || (bVar24 = (*(byte *)((long)puVar10 + 0x3b) & 1) == 0, !bVar24)) {\n                  bVar26 = false;\n                  lVar15 = 0x16;\n                  pbVar19 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    if (lVar15 == 0) break;\n                    lVar15 = lVar15 + -1;\n                    bVar26 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  if (((!bVar26 && !bVar24) != bVar26) || (*(char *)((long)puVar10 + 0x3a) < '\0'))\n                  goto LAB_003103c9;\n                }\n                goto LAB_0031043f;\n              }" ({ "{") (expression_statement "lVar15 = 0x17;" (assignment_expression "lVar15 = 0x17" (identifier "lVar15") (= "=") (number_literal "0x17")) (; ";")) (expression_statement "pbVar19 = pbVar18;" (assignment_expression "pbVar19 = pbVar18" (identifier "pbVar19") (= "=") (identifier "pbVar18")) (; ";")) (expression_statement "pbVar20 = (byte *)"ignore-in-object-files";" (assignment_expression "pbVar20 = (byte *)"ignore-in-object-files"" (identifier "pbVar20") (= "=") (cast_expression "(byte *)"ignore-in-object-files"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal ""ignore-in-object-files"" (" """) (string_content "ignore-in-object-files") (" """)))) (; ";")) (do_statement "do {\n                  if (lVar15 == 0) break;\n                  lVar15 = lVar15 + -1;\n                  bVar26 = *pbVar19 < *pbVar20;\n                  bVar24 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n                } while (bVar24);" (do "do") (compound_statement "{\n                  if (lVar15 == 0) break;\n                  lVar15 = lVar15 + -1;\n                  bVar26 = *pbVar19 < *pbVar20;\n                  bVar24 = *pbVar19 == *pbVar20;\n                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;\n                }" ({ "{") (if_statement "if (lVar15 == 0) break;" (if "if") (parenthesized_expression "(lVar15 == 0)" (( "(") (binary_expression "lVar15 == 0" (identifier "lVar15") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar15 = lVar15 + -1;" (assignment_expression "lVar15 = lVar15 + -1" (identifier "lVar15") (= "=") (binary_expression "lVar15 + -1" (identifier "lVar15") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar26 = *pbVar19 < *pbVar20;" (assignment_expression "bVar26 = *pbVar19 < *pbVar20" (identifier "bVar26") (= "=") (binary_expression "*pbVar19 < *pbVar20" (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19")) (< "<") (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")))) (; ";")) (expression_statement "bVar24 = *pbVar19 == *pbVar20;" (assignment_expression "bVar24 = *pbVar19 == *pbVar20" (identifier "bVar24") (= "=") (binary_expression "*pbVar19 == *pbVar20" (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19")) (== "==") (pointer_expression "*pbVar20" (* "*") (identifier "pbVar20")))) (; ";")) (expression_statement "pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;" (assignment_expression "pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1" (identifier "pbVar19") (= "=") (binary_expression "pbVar19 + (ulong)bVar27 * -2 + 1" (binary_expression "pbVar19 + (ulong)bVar27 * -2" (identifier "pbVar19") (+ "+") (binary_expression "(ulong)bVar27 * -2" (cast_expression "(ulong)bVar27" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar27")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;" (assignment_expression "pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1" (identifier "pbVar20") (= "=") (binary_expression "pbVar20 + (ulong)bVar27 * -2 + 1" (binary_expression "pbVar20 + (ulong)bVar27 * -2" (identifier "pbVar20") (+ "+") (binary_expression "(ulong)bVar27 * -2" (cast_expression "(ulong)bVar27" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar27")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar24)" (( "(") (identifier "bVar24") () ")")) (; ";")) (expression_statement "bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;" (assignment_expression "bVar5 = *(byte *)((long)puVar10 + 0x39) & 3" (identifier "bVar5") (= "=") (binary_expression "*(byte *)((long)puVar10 + 0x39) & 3" (pointer_expression "*(byte *)((long)puVar10 + 0x39)" (* "*") (cast_expression "(byte *)((long)puVar10 + 0x39)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar10 + 0x39)" (( "(") (binary_expression "(long)puVar10 + 0x39" (cast_expression "(long)puVar10" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar10")) (+ "+") (number_literal "0x39")) () ")")))) (& "&") (number_literal "3"))) (; ";")) (expression_statement "bVar24 = (!bVar26 && !bVar24) == bVar26;" (assignment_expression "bVar24 = (!bVar26 && !bVar24) == bVar26" (identifier "bVar24") (= "=") (binary_expression "(!bVar26 && !bVar24) == bVar26" (parenthesized_expression "(!bVar26 && !bVar24)" (( "(") (binary_expression "!bVar26 && !bVar24" (unary_expression "!bVar26" (! "!") (identifier "bVar26")) (&& "&&") (unary_expression "!bVar24" (! "!") (identifier "bVar24"))) () ")")) (== "==") (identifier "bVar26"))) (; ";")) (if_statement "if ((!bVar24) || (bVar24 = (*(byte *)((long)puVar10 + 0x3b) & 1) == 0, !bVar24)) {\n                  bVar26 = false;\n                  lVar15 = 0x16;\n                  pbVar19 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    if (lVar15 == 0) break;\n                    lVar15 = lVar15 + -1;\n                    bVar26 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  if (((!bVar26 && !bVar24) != bVar26) || (*(char *)((long)puVar10 + 0x3a) < '\0'))\n                  goto LAB_003103c9;\n                }" (if "if") (parenthesized_expression "((!bVar24) || (bVar24 = (*(byte *)((long)puVar10 + 0x3b) & 1) == 0, !bVar24))" (( "(") (binary_expression "(!bVar24) || (bVar24 = (*(byte *)((long)puVar10 + 0x3b) & 1) == 0, !bVar24)" (parenthesized_expression "(!bVar24)" (( "(") (unary_expression "!bVar24" (! "!") (identifier "bVar24")) () ")")) (|| "||") (parenthesized_expression "(bVar24 = (*(byte *)((long)puVar10 + 0x3b) & 1) == 0, !bVar24)" (( "(") (comma_expression "bVar24 = (*(byte *)((long)puVar10 + 0x3b) & 1) == 0, !bVar24" (assignment_expression "bVar24 = (*(byte *)((long)puVar10 + 0x3b) & 1) == 0" (identifier "bVar24") (= "=") (binary_expression "(*(byte *)((long)puVar10 + 0x3b) & 1) == 0" (parenthesized_expression "(*(byte *)((long)puVar10 + 0x3b) & 1)" (( "(") (binary_expression "*(byte *)((long)puVar10 + 0x3b) & 1" (pointer_expression "*(byte *)((long)puVar10 + 0x3b)" (* "*") (cast_expression "(byte *)((long)puVar10 + 0x3b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar10 + 0x3b)" (( "(") (binary_expression "(long)puVar10 + 0x3b" (cast_expression "(long)puVar10" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar10")) (+ "+") (number_literal "0x3b")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0"))) (, ",") (unary_expression "!bVar24" (! "!") (identifier "bVar24"))) () ")"))) () ")")) (compound_statement "{\n                  bVar26 = false;\n                  lVar15 = 0x16;\n                  pbVar19 = (byte *)"ignore-in-shared-libs";\n                  do {\n                    if (lVar15 == 0) break;\n                    lVar15 = lVar15 + -1;\n                    bVar26 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);\n                  if (((!bVar26 && !bVar24) != bVar26) || (*(char *)((long)puVar10 + 0x3a) < '\0'))\n                  goto LAB_003103c9;\n                }" ({ "{") (expression_statement "bVar26 = false;" (assignment_expression "bVar26 = false" (identifier "bVar26") (= "=") (false "false")) (; ";")) (expression_statement "lVar15 = 0x16;" (assignment_expression "lVar15 = 0x16" (identifier "lVar15") (= "=") (number_literal "0x16")) (; ";")) (expression_statement "pbVar19 = (byte *)"ignore-in-shared-libs";" (assignment_expression "pbVar19 = (byte *)"ignore-in-shared-libs"" (identifier "pbVar19") (= "=") (cast_expression "(byte *)"ignore-in-shared-libs"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal ""ignore-in-shared-libs"" (" """) (string_content "ignore-in-shared-libs") (" """)))) (; ";")) (do_statement "do {\n                    if (lVar15 == 0) break;\n                    lVar15 = lVar15 + -1;\n                    bVar26 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  } while (bVar24);" (do "do") (compound_statement "{\n                    if (lVar15 == 0) break;\n                    lVar15 = lVar15 + -1;\n                    bVar26 = *pbVar18 < *pbVar19;\n                    bVar24 = *pbVar18 == *pbVar19;\n                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;\n                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;\n                  }" ({ "{") (if_statement "if (lVar15 == 0) break;" (if "if") (parenthesized_expression "(lVar15 == 0)" (( "(") (binary_expression "lVar15 == 0" (identifier "lVar15") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar15 = lVar15 + -1;" (assignment_expression "lVar15 = lVar15 + -1" (identifier "lVar15") (= "=") (binary_expression "lVar15 + -1" (identifier "lVar15") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar26 = *pbVar18 < *pbVar19;" (assignment_expression "bVar26 = *pbVar18 < *pbVar19" (identifier "bVar26") (= "=") (binary_expression "*pbVar18 < *pbVar19" (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")) (< "<") (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19")))) (; ";")) (expression_statement "bVar24 = *pbVar18 == *pbVar19;" (assignment_expression "bVar24 = *pbVar18 == *pbVar19" (identifier "bVar24") (= "=") (binary_expression "*pbVar18 == *pbVar19" (pointer_expression "*pbVar18" (* "*") (identifier "pbVar18")) (== "==") (pointer_expression "*pbVar19" (* "*") (identifier "pbVar19")))) (; ";")) (expression_statement "pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;" (assignment_expression "pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1" (identifier "pbVar18") (= "=") (binary_expression "pbVar18 + (ulong)bVar27 * -2 + 1" (binary_expression "pbVar18 + (ulong)bVar27 * -2" (identifier "pbVar18") (+ "+") (binary_expression "(ulong)bVar27 * -2" (cast_expression "(ulong)bVar27" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar27")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;" (assignment_expression "pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1" (identifier "pbVar19") (= "=") (binary_expression "pbVar19 + (ulong)bVar27 * -2 + 1" (binary_expression "pbVar19 + (ulong)bVar27 * -2" (identifier "pbVar19") (+ "+") (binary_expression "(ulong)bVar27 * -2" (cast_expression "(ulong)bVar27" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar27")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar24)" (( "(") (identifier "bVar24") () ")")) (; ";")) (if_statement "if (((!bVar26 && !bVar24) != bVar26) || (*(char *)((long)puVar10 + 0x3a) < '\0'))\n                  goto LAB_003103c9;" (if "if") (parenthesized_expression "(((!bVar26 && !bVar24) != bVar26) || (*(char *)((long)puVar10 + 0x3a) < '\0'))" (( "(") (binary_expression "((!bVar26 && !bVar24) != bVar26) || (*(char *)((long)puVar10 + 0x3a) < '\0')" (parenthesized_expression "((!bVar26 && !bVar24) != bVar26)" (( "(") (binary_expression "(!bVar26 && !bVar24) != bVar26" (parenthesized_expression "(!bVar26 && !bVar24)" (( "(") (binary_expression "!bVar26 && !bVar24" (unary_expression "!bVar26" (! "!") (identifier "bVar26")) (&& "&&") (unary_expression "!bVar24" (! "!") (identifier "bVar24"))) () ")")) (!= "!=") (identifier "bVar26")) () ")")) (|| "||") (parenthesized_expression "(*(char *)((long)puVar10 + 0x3a) < '\0')" (( "(") (binary_expression "*(char *)((long)puVar10 + 0x3a) < '\0'" (pointer_expression "*(char *)((long)puVar10 + 0x3a)" (* "*") (cast_expression "(char *)((long)puVar10 + 0x3a)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar10 + 0x3a)" (( "(") (binary_expression "(long)puVar10 + 0x3a" (cast_expression "(long)puVar10" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar10")) (+ "+") (number_literal "0x3a")) () ")")))) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (goto_statement "goto LAB_003103c9;" (goto "goto") (statement_identifier "LAB_003103c9") (; ";"))) (} "}"))) (goto_statement "goto LAB_0031043f;" (goto "goto") (statement_identifier "LAB_0031043f") (; ";")) (} "}"))) (labeled_statement "LAB_003103e1:\n              FUN_0034b9f0(puVar10,param_2,local_148,local_140);" (statement_identifier "LAB_003103e1") (: ":") (expression_statement "FUN_0034b9f0(puVar10,param_2,local_148,local_140);" (call_expression "FUN_0034b9f0(puVar10,param_2,local_148,local_140)" (identifier "FUN_0034b9f0") (argument_list "(puVar10,param_2,local_148,local_140)" (( "(") (identifier "puVar10") (, ",") (identifier "param_2") (, ",") (identifier "local_148") (, ",") (identifier "local_140") () ")"))) (; ";"))) (expression_statement "bVar16 = *(byte *)((long)puVar10 + 0x3b);" (assignment_expression "bVar16 = *(byte *)((long)puVar10 + 0x3b)" (identifier "bVar16") (= "=") (pointer_expression "*(byte *)((long)puVar10 + 0x3b)" (* "*") (cast_expression "(byte *)((long)puVar10 + 0x3b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar10 + 0x3b)" (( "(") (binary_expression "(long)puVar10 + 0x3b" (cast_expression "(long)puVar10" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar10")) (+ "+") (number_literal "0x3b")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n              if (bVar5 == 4) goto LAB_0031020c;\nLAB_00310260:\n              bVar5 = *(byte *)((long)puVar10 + 0x39);\n              if ((bVar5 & 3) != 0) {\nLAB_0031026d:\n                bVar5 = bVar5 & 3;\n                bVar16 = bVar16 & 7;\nLAB_00310270:\n                if (((bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2)) &&\n                   (bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0)) goto LAB_00310293;\n              }\nLAB_003101c0:\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }" (else "else") (compound_statement "{\n              if (bVar5 == 4) goto LAB_0031020c;\nLAB_00310260:\n              bVar5 = *(byte *)((long)puVar10 + 0x39);\n              if ((bVar5 & 3) != 0) {\nLAB_0031026d:\n                bVar5 = bVar5 & 3;\n                bVar16 = bVar16 & 7;\nLAB_00310270:\n                if (((bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2)) &&\n                   (bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0)) goto LAB_00310293;\n              }\nLAB_003101c0:\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);\n            }" ({ "{") (if_statement "if (bVar5 == 4) goto LAB_0031020c;" (if "if") (parenthesized_expression "(bVar5 == 4)" (( "(") (binary_expression "bVar5 == 4" (identifier "bVar5") (== "==") (number_literal "4")) () ")")) (goto_statement "goto LAB_0031020c;" (goto "goto") (statement_identifier "LAB_0031020c") (; ";"))) (labeled_statement "LAB_00310260:\n              bVar5 = *(byte *)((long)puVar10 + 0x39);" (statement_identifier "LAB_00310260") (: ":") (expression_statement "bVar5 = *(byte *)((long)puVar10 + 0x39);" (assignment_expression "bVar5 = *(byte *)((long)puVar10 + 0x39)" (identifier "bVar5") (= "=") (pointer_expression "*(byte *)((long)puVar10 + 0x39)" (* "*") (cast_expression "(byte *)((long)puVar10 + 0x39)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar10 + 0x39)" (( "(") (binary_expression "(long)puVar10 + 0x39" (cast_expression "(long)puVar10" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar10")) (+ "+") (number_literal "0x39")) () ")"))))) (; ";"))) (if_statement "if ((bVar5 & 3) != 0) {\nLAB_0031026d:\n                bVar5 = bVar5 & 3;\n                bVar16 = bVar16 & 7;\nLAB_00310270:\n                if (((bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2)) &&\n                   (bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0)) goto LAB_00310293;\n              }" (if "if") (parenthesized_expression "((bVar5 & 3) != 0)" (( "(") (binary_expression "(bVar5 & 3) != 0" (parenthesized_expression "(bVar5 & 3)" (( "(") (binary_expression "bVar5 & 3" (identifier "bVar5") (& "&") (number_literal "3")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0031026d:\n                bVar5 = bVar5 & 3;\n                bVar16 = bVar16 & 7;\nLAB_00310270:\n                if (((bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2)) &&\n                   (bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0)) goto LAB_00310293;\n              }" ({ "{") (labeled_statement "LAB_0031026d:\n                bVar5 = bVar5 & 3;" (statement_identifier "LAB_0031026d") (: ":") (expression_statement "bVar5 = bVar5 & 3;" (assignment_expression "bVar5 = bVar5 & 3" (identifier "bVar5") (= "=") (binary_expression "bVar5 & 3" (identifier "bVar5") (& "&") (number_literal "3"))) (; ";"))) (expression_statement "bVar16 = bVar16 & 7;" (assignment_expression "bVar16 = bVar16 & 7" (identifier "bVar16") (= "=") (binary_expression "bVar16 & 7" (identifier "bVar16") (& "&") (number_literal "7"))) (; ";")) (labeled_statement "LAB_00310270:\n                if (((bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2)) &&\n                   (bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0)) goto LAB_00310293;" (statement_identifier "LAB_00310270") (: ":") (if_statement "if (((bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2)) &&\n                   (bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0)) goto LAB_00310293;" (if "if") (parenthesized_expression "(((bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2)) &&\n                   (bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0))" (( "(") (binary_expression "((bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2)) &&\n                   (bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0)" (parenthesized_expression "((bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2))" (( "(") (binary_expression "(bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2)" (parenthesized_expression "(bVar16 == 4)" (( "(") (binary_expression "bVar16 == 4" (identifier "bVar16") (== "==") (number_literal "4")) () ")")) (&& "&&") (parenthesized_expression "(*(byte *)(puVar10 + 7) >> 4 != 2)" (( "(") (binary_expression "*(byte *)(puVar10 + 7) >> 4 != 2" (binary_expression "*(byte *)(puVar10 + 7) >> 4" (pointer_expression "*(byte *)(puVar10 + 7)" (* "*") (cast_expression "(byte *)(puVar10 + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 7)" (( "(") (binary_expression "puVar10 + 7" (identifier "puVar10") (+ "+") (number_literal "7")) () ")")))) (>> ">>") (number_literal "4")) (!= "!=") (number_literal "2")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0)" (( "(") (comma_expression "bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0" (assignment_expression "bVar16 = 4" (identifier "bVar16") (= "=") (number_literal "4")) (, ",") (binary_expression "(*(byte *)((long)puVar10 + 0x3c) & 2) == 0" (parenthesized_expression "(*(byte *)((long)puVar10 + 0x3c) & 2)" (( "(") (binary_expression "*(byte *)((long)puVar10 + 0x3c) & 2" (pointer_expression "*(byte *)((long)puVar10 + 0x3c)" (* "*") (cast_expression "(byte *)((long)puVar10 + 0x3c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar10 + 0x3c)" (( "(") (binary_expression "(long)puVar10 + 0x3c" (cast_expression "(long)puVar10" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar10")) (+ "+") (number_literal "0x3c")) () ")")))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0"))) () ")"))) () ")")) (goto_statement "goto LAB_00310293;" (goto "goto") (statement_identifier "LAB_00310293") (; ";")))) (} "}"))) (labeled_statement "LAB_003101c0:\n              bVar16 = *(byte *)((long)puVar10 + 0x3b);" (statement_identifier "LAB_003101c0") (: ":") (expression_statement "bVar16 = *(byte *)((long)puVar10 + 0x3b);" (assignment_expression "bVar16 = *(byte *)((long)puVar10 + 0x3b)" (identifier "bVar16") (= "=") (pointer_expression "*(byte *)((long)puVar10 + 0x3b)" (* "*") (cast_expression "(byte *)((long)puVar10 + 0x3b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)puVar10 + 0x3b)" (( "(") (binary_expression "(long)puVar10 + 0x3b" (cast_expression "(long)puVar10" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar10")) (+ "+") (number_literal "0x3b")) () ")"))))) (; ";"))) (} "}")))) (if_statement "if ((bVar16 & 4) != 0) {\n              FUN_00446c20(*param_2 + 0x1e0,puVar10,param_2,local_148,local_140);\n            }" (if "if") (parenthesized_expression "((bVar16 & 4) != 0)" (( "(") (binary_expression "(bVar16 & 4) != 0" (parenthesized_expression "(bVar16 & 4)" (( "(") (binary_expression "bVar16 & 4" (identifier "bVar16") (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              FUN_00446c20(*param_2 + 0x1e0,puVar10,param_2,local_148,local_140);\n            }" ({ "{") (expression_statement "FUN_00446c20(*param_2 + 0x1e0,puVar10,param_2,local_148,local_140);" (call_expression "FUN_00446c20(*param_2 + 0x1e0,puVar10,param_2,local_148,local_140)" (identifier "FUN_00446c20") (argument_list "(*param_2 + 0x1e0,puVar10,param_2,local_148,local_140)" (( "(") (binary_expression "*param_2 + 0x1e0" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (+ "+") (number_literal "0x1e0")) (, ",") (identifier "puVar10") (, ",") (identifier "param_2") (, ",") (identifier "local_148") (, ",") (identifier "local_140") () ")"))) (; ";")) (} "}"))) (} "}"))) (} "}")))) (expression_statement "local_138 = &local_d8;" (assignment_expression "local_138 = &local_d8" (identifier "local_138") (= "=") (pointer_expression "&local_d8" (& "&") (identifier "local_d8"))) (; ";")) (expression_statement "FUN_001a5bc0(&local_b8);" (call_expression "FUN_001a5bc0(&local_b8)" (identifier "FUN_001a5bc0") (argument_list "(&local_b8)" (( "(") (pointer_expression "&local_b8" (& "&") (identifier "local_b8")) () ")"))) (; ";")) (expression_statement "FUN_001a5bc0(local_138);" (call_expression "FUN_001a5bc0(local_138)" (identifier "FUN_001a5bc0") (argument_list "(local_138)" (( "(") (identifier "local_138") () ")"))) (; ";")) (} "}"))) (expression_statement "local_148 = local_148 + 1;" (assignment_expression "local_148 = local_148 + 1" (identifier "local_148") (= "=") (binary_expression "local_148 + 1" (identifier "local_148") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_120 = local_120 + 3;" (assignment_expression "local_120 = local_120 + 3" (identifier "local_120") (= "=") (binary_expression "local_120 + 3" (identifier "local_120") (+ "+") (number_literal "3"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(param_5 != local_148)" (( "(") (binary_expression "param_5 != local_148" (identifier "param_5") (!= "!=") (identifier "local_148")) () ")")) (; ";")) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Enum "ELFOSABI": Some values do not have unique names */
/* DWARF original prototype: void relocate_section(Target_aarch64<32,_true> * this,
   Relocate_info<32,_true> * relinfo, uint sh_type, uchar * prelocs, size_t reloc_count,
   Output_section * output_section, bool needs_special_offset_handling, uchar * view, Elf_Addr
   address, section_size_type view_size, Reloc_symbol_changes * reloc_symbol_changes) */

void __thiscall
anon_unknown.dwarf_12235f4::var_65<32,var_32>::relocate_section
          (var_65<32,var_32> *this,var_3<32,var_32> *relinfo,type_7 var_8,
          type_22 *prelocs,size_t var_19,type_19 *output_section,
          bool needs_special_offset_handling,type_22 *var_18,type_14 var_14,
          type_5 var_15,type_18 *var_23)

{
  type_6 var_70;
  type_1 **pp_Var2;
  type_1 *p_Var3;
  type_2 var_30;
  type_2 ppSVar5;
  type_2 ppOVar6;
  var_1<32,var_32> *pSVar7;
  type_3 *var_69;
  type_4 *var_73;
  var_2<32,var_32> *var_63;
  type_2 pcVar11;
  type_5 var_17;
  int var_35;
  bool var_38;
  type_6 var_71;
  type_7 var_28;
  type_8 var_43;
  int iVar18;
  int var_66;
  char *pcVar20;
  type_4 *var_27;
  uint64_t uVar22;
  type_9 uVar23;
  long var_36;
  type_10 *var_55;
  type_11 *var_11;
  char *pcVar27;
  type_12 var_16;
  type_6 var_12;
  type_7 var_29;
  type_13 _Var31;
  type_4 *var_72;
  type_4 *pGVar33;
  type_4 *var_74;
  var_3<32,var_32> *pRVar35;
  type_6 *var_37;
  var_1<32,var_32> *this_00;
  type_7 var_13;
  var_4<32> *pSVar38;
  var_1<32,var_32> *this_01;
  bool var_39;
  bool var_40;
  type_6 bVar41;
  type_4 *var_78;
  type_12 var_21;
  var_4<32> *local_138;
  type_7 *var_77;
  type_7 var_22;
  bool is_ordinary;
  type_14 value;
  type_7 var_53;
  var_4<32> var_5;
  var_4<32> var_6;
  var_4<32> var_7;
  bool var_42;
  type_15 uStack_77;
  type_16 var_49 [16];
  type_17 reloc_name;
  
  bVar41 = 0;
  if (var_8 != 4) {
                    /* WARNING: Subroutine does not return */
    gold::var_9("../../gold/aarch64.cc",0x1fca,"relocate_section");
  }
  this_01 = relinfo->object;
  if (needs_special_offset_handling) {
    var_11 = var_24::Output_section::var_10
                        (output_section,(type_10 *)this_01,relinfo->data_shndx);
    if (var_11 == (type_11 *)0x0) {
      this_01 = relinfo->object;
    }
    else {
      var_12 = (var_11->super_Output_section_data_build).super_Output_section_data.
               super_Output_data.field_0x20;
      if ((var_12 & 1) == 0) {
                    /* WARNING: Subroutine does not return */
        gold::var_9("../../gold/output.h",0xc5,"address");
      }
      var_16 = (var_11->super_Output_section_data_build).super_Output_section_data.
               super_Output_data.address_;
      if ((var_12 & 2) == 0) {
                    /* WARNING: Subroutine does not return */
        gold::var_9("../../gold/output.h",0xcf,"data_size");
      }
      var_17 = (var_11->super_Output_section_data_build).super_Output_section_data.
               super_Output_data.data_size_;
      var_13 = (type_7)var_16;
      if ((var_13 < var_14) || (var_14 + var_15 < (var_16 & 0xffffffff) + var_17)) {
                    /* WARNING: Subroutine does not return */
        gold::var_9("../../gold/aarch64.cc",0x1fda,"relocate_section");
      }
      this_01 = relinfo->object;
      var_18 = var_18 + (var_13 - var_14);
      var_15 = var_17;
    }
  }
  pp_Var2 = (this_01->super_Sized_relobj<32,var_32>).super_Relobj.super_Object._vptr_Object;
  p_Var3 = pp_Var2[0x23];
  if (p_Var3 == var_24::type_10::local_symbol_count) {
    var_22 = (*pp_Var2[0x2f])();
  }
  else {
    var_22 = (*p_Var3)(this_01);
  }
  var_35 = 0;
  var_78 = (type_4 *)0x0;
  var_77 = (type_7 *)prelocs;
  if (var_19 != 0) {
    do {
      var_13 = *var_77;
      var_21 = (type_12)(var_13 >> 0x18 | (var_13 & 0xff0000) >> 8 | (var_13 & 0xff00) << 8 |
                         var_13 << 0x18);
      if ((!needs_special_offset_handling) ||
         (var_21 = var_24::type_19::var_20
                                (output_section,(type_10 *)relinfo->object,relinfo->data_shndx,
                                 var_21), var_21 != 0xffffffffffffffff)) {
        var_5._8_4_ = 0x80000000;
        var_5.u_.value = 0;
        var_13 = var_77[1];
        var_5.output_symtab_index_ = 0;
        var_5.output_dynsym_index_ = 0xffffffff;
        var_13 = ((var_13 & 0xff0000) >> 8 | (var_13 & 0xff00) << 8 | var_13 << 0x18) >> 8;
        if (var_13 < var_22) {
          if ((var_23 != (type_18 *)0x0) &&
             (var_27 = (type_4 *)
                        (var_23->vec_).
                        super__Vector_base<var_24::type_20*,var_25::var_56<var_24::type_20*>var_26>._M_impl.
                        _M_start[(long)var_78], var_27 != (type_4 *)0x0)) {
LAB_0030fa33:
            var_28 = *(type_7 *)((long)&(var_27->help_initializer_).super_Struct_special.option.
                                      longname.field_2 + 4);
            var_29 = var_28 - 1;
            if (0xfffffffd < var_29) goto LAB_0030fa42;
LAB_0030fcf0:
            if (var_29 == 0xfffffffd) {
                    /* WARNING: Subroutine does not return */
              gold::var_9("../../gold/object.h",0x70d,"set_output_symtab_index");
            }
            var_5.output_symtab_index_ = var_28;
            goto LAB_0030fa4a;
          }
          var_30 = (this_01->local_values_).
                   super__Vector_base<var_24::var_4<32>,var_25::var_56<var_24::var_4<32>var_26>var_26>
                   ._M_impl._M_start;
          if ((type_12)(((long)(this_01->local_values_).
                             super__Vector_base<var_24::var_4<32>,var_25::var_56<var_24::var_4<32>var_26>var_26>
                             ._M_impl._M_finish - (long)var_30 >> 3) * -0x5555555555555555) <=
              (type_12)var_13) {
                    /* WARNING: Subroutine does not return */
            gold::var_9("../../gold/object.h",0x8c1,"local_symbol");
          }
          pSVar38 = var_30 + var_13;
          var_28 = *(type_7 *)&pSVar38->field_0x8 & 0x7ffffff;
          var_29 = *(type_7 *)&pSVar38->field_0x8 & 0x7ffffff;
          if (((pSVar38->field_0xb & 8) == 0) || (var_28 == 0)) {
LAB_0030fbb3:
            var_27 = (type_4 *)0x0;
            goto LAB_0030faa5;
          }
          ppOVar6 = (this_01->super_Sized_relobj<32,var_32>).super_Relobj.output_sections_.
                    super__Vector_base<var_24::type_19*,var_25::var_56<var_24::type_19*>var_26>
                    ._M_impl._M_start;
          if ((type_12)((long)(this_01->super_Sized_relobj<32,var_32>).super_Relobj.output_sections_.
                            super__Vector_base<var_24::type_19*,var_25::var_56<var_24::type_19*>var_26>
                            ._M_impl._M_finish - (long)ppOVar6 >> 3) <= (type_12)var_28) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00310860 to 00310864 has its CatchHandler @ 0031092a */
            gold::var_9("../../gold/object.h",0x50b,"is_section_included");
          }
          if (ppOVar6[var_28] != (type_19 *)0x0) goto LAB_0030fbb3;
          var_38 = var_24::Symbol_table::var_31(relinfo->symtab,(type_10 *)this_01,var_29);
          var_27 = (type_4 *)0x0;
          if (var_38) {
            var_27 = (type_4 *)0x0;
            goto LAB_0030faa5;
          }
LAB_0030fd25:
          var_6._8_4_ = 0x80000000;
          var_6.output_symtab_index_ = 0;
          var_6.output_dynsym_index_ = 0xffffffff;
          var_6.u_.value = 0;
          p_Var3 = (this_01->super_Sized_relobj<32,var_32>).super_Relobj.super_Object._vptr_Object
                   [0x10];
          if (p_Var3 == var_24::var_1<32,var_32>::var_33) {
                    /* try { // try from 0030fd86 to 0030fd8a has its CatchHandler @ 00310922 */
            elfcpp::Elf_file<32,var_32,_gold::Object>::var_34
                      (&reloc_name,&this_01->elf_file_,relinfo->data_shndx);
          }
          else {
                    /* try { // try from 00310038 to 00310039 has its CatchHandler @ 00310922 */
            (*p_Var3)(&reloc_name,this_01);
          }
          var_38 = false;
          var_40 = var_35 == 0;
          if (var_40) {
            var_36 = 6;
            _Var31._M_p = reloc_name._M_dataplus._M_p;
            var_37 = &DAT_00533552;
            do {
              if (var_36 == 0) break;
              var_36 = var_36 + -1;
              var_38 = (type_6)*_Var31._M_p < *var_37;
              var_40 = *_Var31._M_p == *var_37;
              _Var31._M_p = (type_2)((type_6 *)_Var31._M_p + (type_12)bVar41 * -2 + 1);
              var_37 = var_37 + (type_12)bVar41 * -2 + 1;
            } while (var_40);
            var_39 = false;
            var_38 = (!var_38 && !var_40) == var_38;
            if (!var_38) {
              var_36 = 7;
              _Var31._M_p = reloc_name._M_dataplus._M_p;
              var_37 = (type_6 *)".zdebug";
              do {
                if (var_36 == 0) break;
                var_36 = var_36 + -1;
                var_39 = (type_6)*_Var31._M_p < *var_37;
                var_38 = *_Var31._M_p == *var_37;
                _Var31._M_p = (type_2)((type_6 *)_Var31._M_p + (type_12)bVar41 * -2 + 1);
                var_37 = var_37 + (type_12)bVar41 * -2 + 1;
              } while (var_38);
              var_40 = false;
              var_38 = (!var_39 && !var_38) == var_39;
              if (!var_38) {
                var_36 = 0x11;
                _Var31._M_p = reloc_name._M_dataplus._M_p;
                var_37 = (type_6 *)".gnu.linkonce.wi.";
                do {
                  if (var_36 == 0) break;
                  var_36 = var_36 + -1;
                  var_40 = (type_6)*_Var31._M_p < *var_37;
                  var_38 = *_Var31._M_p == *var_37;
                  _Var31._M_p = (type_2)((type_6 *)_Var31._M_p + (type_12)bVar41 * -2 + 1);
                  var_37 = var_37 + (type_12)bVar41 * -2 + 1;
                } while (var_38);
                var_39 = false;
                var_38 = (!var_40 && !var_38) == var_40;
                if (!var_38) {
                  var_36 = 5;
                  _Var31._M_p = reloc_name._M_dataplus._M_p;
                  var_37 = (type_6 *)".line";
                  do {
                    if (var_36 == 0) break;
                    var_36 = var_36 + -1;
                    var_39 = (type_6)*_Var31._M_p < *var_37;
                    var_38 = *_Var31._M_p == *var_37;
                    _Var31._M_p = (type_2)((type_6 *)_Var31._M_p + (type_12)bVar41 * -2 + 1);
                    var_37 = var_37 + (type_12)bVar41 * -2 + 1;
                  } while (var_38);
                  var_40 = false;
                  var_38 = (!var_39 && !var_38) == var_39;
                  if (!var_38) {
                    var_36 = 5;
                    _Var31._M_p = reloc_name._M_dataplus._M_p;
                    var_37 = (type_6 *)".stab";
                    do {
                      if (var_36 == 0) break;
                      var_36 = var_36 + -1;
                      var_40 = (type_6)*_Var31._M_p < *var_37;
                      var_38 = *_Var31._M_p == *var_37;
                      _Var31._M_p = (type_2)((type_6 *)_Var31._M_p + (type_12)bVar41 * -2 + 1);
                      var_37 = var_37 + (type_12)bVar41 * -2 + 1;
                    } while (var_38);
                    var_39 = false;
                    var_38 = (!var_40 && !var_38) == var_40;
                    if (!var_38) {
                      var_36 = 4;
                      _Var31._M_p = reloc_name._M_dataplus._M_p;
                      var_37 = &DAT_0053357f;
                      do {
                        if (var_36 == 0) break;
                        var_36 = var_36 + -1;
                        var_39 = (type_6)*_Var31._M_p < *var_37;
                        var_38 = *_Var31._M_p == *var_37;
                        _Var31._M_p = (type_2)((type_6 *)_Var31._M_p + (type_12)bVar41 * -2 + 1);
                        var_37 = var_37 + (type_12)bVar41 * -2 + 1;
                      } while (var_38);
                      var_40 = false;
                      var_38 = (!var_39 && !var_38) == var_39;
                      if (!var_38) {
                        var_36 = 10;
                        _Var31._M_p = reloc_name._M_dataplus._M_p;
                        var_37 = (type_6 *)".eh_frame";
                        do {
                          if (var_36 == 0) break;
                          var_36 = var_36 + -1;
                          var_40 = (type_6)*_Var31._M_p < *var_37;
                          var_38 = *_Var31._M_p == *var_37;
                          _Var31._M_p = (type_2)((type_6 *)_Var31._M_p + (type_12)bVar41 * -2 + 1);
                          var_37 = var_37 + (type_12)bVar41 * -2 + 1;
                        } while (var_38);
                        var_39 = false;
                        var_38 = (!var_40 && !var_38) == var_40;
                        if (!var_38) {
                          var_36 = 0x12;
                          _Var31._M_p = reloc_name._M_dataplus._M_p;
                          var_37 = (type_6 *)".gcc_except_table";
                          do {
                            if (var_36 == 0) break;
                            var_36 = var_36 + -1;
                            var_39 = (type_6)*_Var31._M_p < *var_37;
                            var_38 = *_Var31._M_p == *var_37;
                            _Var31._M_p = (type_2)((type_6 *)_Var31._M_p + (type_12)bVar41 * -2 + 1);
                            var_37 = var_37 + (type_12)bVar41 * -2 + 1;
                          } while (var_38);
                          if ((!var_39 && !var_38) != var_39) goto LAB_0030ff50;
                        }
                        goto LAB_00310006;
                      }
                    }
                  }
                }
              }
            }
LAB_0030fdc0:
                    /* try { // try from 0030fdd2 to 0030fdd6 has its CatchHandler @ 00310912 */
            var_43 = var_24::var_1<32,var_32>::var_41
                               (this_01,var_29,&reloc_name,&var_42);
            var_6.u_.value = 0;
            if (var_42 != false) {
              var_6.u_.value = var_43 + (pSVar38->u_).value;
            }
            var_35 = 1;
          }
          else {
            if (var_35 == 1) goto LAB_0030fdc0;
            if (var_35 == 3) {
LAB_0030ff50:
              pSVar7 = relinfo->object;
              if (var_27 == (type_4 *)0x0) {
                    /* try { // try from 003105ee to 0031061d has its CatchHandler @ 00310912 */
                pcVar20 = var_24::var_1<32,var_32>::var_44(pSVar7,var_13);
                pcVar27 = (char *)var_45(
                                         "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"
                                         );
                gold::var_46<32,var_32>
                          (relinfo,(size_t)var_78,var_21,pcVar27,pcVar20,(type_12)var_13);
              }
              else {
                    /* try { // try from 0030ff70 to 0030ff74 has its CatchHandler @ 00310912 */
                gold::Symbol::var_47((type_17 *)&var_42,(type_20 *)var_27);
                uVar23 = var_48(uStack_77,var_42);
                pcVar20 = (char *)var_45(
                                         "relocation refers to global symbol \"%s\", which is defined in a discarded section"
                                         );
                    /* try { // try from 0030ffa4 to 0030ffa8 has its CatchHandler @ 0031093c */
                gold::var_46<32,var_32>
                          (relinfo,(size_t)var_78,var_21,pcVar20,uVar23);
                if ((type_16 *)var_48(uStack_77,var_42) != var_49) {
                  var_50((type_16 *)var_48(uStack_77,var_42));
                }
              }
                    /* try { // try from 0030ffd1 to 0030ffd5 has its CatchHandler @ 00310912 */
              var_13 = var_24::var_1<32,var_32>::var_51
                                 (pSVar7,var_13,&value,&is_ordinary);
              if (var_13 != 0) {
                    /* try { // try from 00310544 to 0031057d has its CatchHandler @ 00310912 */
                var_55 = var_24::var_1<32,var_32>::var_52
                                    (pSVar7,var_13,&var_53);
                if (var_53 != 0) {
                    /* try { // try from 00310725 to 00310745 has its CatchHandler @ 00310912 */
                  pcVar20 = var_24::var_1<32,var_32>::var_44(pSVar7,var_53);
                  pcVar27 = (char *)var_45("  section group signature: \"%s\"");
                  gold::var_54(pcVar27,pcVar20);
                }
                if (var_55 != (type_10 *)0x0) {
                  pcVar11 = (var_55->super_Object).name_._M_dataplus._M_p;
                  pcVar20 = (char *)var_45("  prevailing definition is from %s");
                  gold::var_54(pcVar20,pcVar11);
                }
              }
              var_35 = 3;
            }
            else {
LAB_00310006:
              var_35 = 2;
            }
            var_6.u_.value = 0;
          }
          if (var_6.output_symtab_index_ != 0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00310794 to 00310798 has its CatchHandler @ 00310912 */
            gold::var_9("../../gold/object.h",0x716,"set_no_output_symtab_entry");
          }
          var_6.output_symtab_index_ = 0xffffffff;
          if ((anon_union_16_2_edb7204a_for_basic_string<var_57,var_25::char_traits<var_57>,var_25::var_56<var_57>var_26>var_58
               *)reloc_name._M_dataplus._M_p != &reloc_name.field_2) {
            var_50(reloc_name._M_dataplus._M_p);
          }
          pSVar38 = &var_6;
          if (-1 < (long)var_21) goto LAB_0030fae5;
LAB_0030fe48:
          pcVar20 = (char *)var_45("reloc has bad offset %zu");
          var_27 = var_78;
                    /* try { // try from 0030fe68 to 0030fe6c has its CatchHandler @ 00310922 */
          gold::var_46<32,var_32>
                    (relinfo,(size_t)var_78,var_21,pcVar20,var_21);
          var_66 = (int)var_27;
        }
        else {
          if ((var_23 != (type_18 *)0x0) &&
             (var_27 = (type_4 *)
                        (var_23->vec_).
                        super__Vector_base<var_24::type_20*,var_25::var_56<var_24::type_20*>var_26>._M_impl.
                        _M_start[(long)var_78], var_27 != (type_4 *)0x0))
          goto LAB_0030fa33;
          if (var_13 < this_01->local_symbol_count_) {
LAB_003107a0:
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 003107b3 to 003107ff has its CatchHandler @ 0031092a */
            gold::var_9("../../gold/target-reloc.h",0x17f,"relocate_section");
          }
          ppSVar5 = (this_01->symbols_).
                    super__Vector_base<var_24::type_20*,var_25::var_56<var_24::type_20*>var_26>._M_impl.
                    _M_start;
          var_16 = (type_12)(var_13 - this_01->local_symbol_count_);
          if ((type_12)((long)(this_01->symbols_).
                            super__Vector_base<var_24::type_20*,var_25::var_56<var_24::type_20*>var_26>.
                            _M_impl._M_finish - (long)ppSVar5 >> 3) <= var_16) {
                    /* WARNING: Subroutine does not return */
            gold::var_9("../../gold/object.h",0x8ad,"global_symbol");
          }
          var_27 = (type_4 *)ppSVar5[var_16];
          if (var_27 == (type_4 *)0x0) goto LAB_003107a0;
          if (((type_12)(var_27->help_initializer_).super_Struct_special.option.helpstring & 0x100000
              ) == 0) goto LAB_0030fa33;
                    /* try { // try from 0030fc40 to 0030fcb4 has its CatchHandler @ 0031092a */
          var_27 = (type_4 *)
                    var_24::Symbol_table::var_59(relinfo->symtab,(type_20 *)var_27);
          var_28 = *(type_7 *)((long)&(var_27->help_initializer_).super_Struct_special.option.
                                    longname.field_2 + 4);
          var_29 = var_28 - 1;
          if (var_29 < 0xfffffffe) {
            if ((var_5.output_symtab_index_ != 0) && (var_5.output_symtab_index_ != 0xfffffffe)) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0031077c to 00310780 has its CatchHandler @ 0031092a */
              gold::var_9("../../gold/object.h",0x70c,"set_output_symtab_index");
            }
            goto LAB_0030fcf0;
          }
          if (var_5.output_symtab_index_ != 0) {
                    /* WARNING: Subroutine does not return */
            gold::var_9("../../gold/object.h",0x716,"set_no_output_symtab_entry");
          }
LAB_0030fa42:
          var_5.output_symtab_index_ = 0xffffffff;
LAB_0030fa4a:
          var_5.u_.value =
               *(type_21 *)&(var_27->help_initializer_).super_Struct_special.option.helparg;
          var_12 = *(type_6 *)&(var_27->help_initializer_).super_Struct_special.option.helpstring &
                   0xf;
          if (var_12 == 6) {
            var_5._8_4_ = var_5._8_4_ | 0x20000000;
          }
          else if (var_12 == 10) {
            var_5._8_4_ = var_5._8_4_ | 0x40000000;
          }
          var_12 = *(type_6 *)((long)&(var_27->help_initializer_).super_Struct_special.option.
                                    helpstring + 3);
          if ((char)var_12 < '\0') {
            pcVar20 = (var_27->help_initializer_).super_Struct_special.option.helpstring;
            if (((type_12)pcVar20 & 0x70000) == 0) {
              if ((*(type_7 *)&(var_27->help_initializer_).super_Struct_special.option.longname.
                             field_2 == 0) && ((var_12 & 0x20) != 0)) {
LAB_0030fd10:
                pSVar38 = &var_5;
                var_29 = 0;
                goto LAB_0030fd25;
              }
            }
            else if (((type_12)pcVar20 & 0x70000) == 0x40000) goto LAB_0030fd10;
          }
          pSVar38 = &var_5;
LAB_0030faa5:
          var_6._8_4_ = 0x80000000;
          var_6.output_symtab_index_ = 0;
          var_6.output_dynsym_index_ = 0xffffffff;
          var_6.u_.value = 0;
          if ((long)var_21 < 0) goto LAB_0030fe48;
LAB_0030fae5:
          if ((var_15 <= var_21) || (var_18 + var_21 == (type_22 *)0x0)) goto LAB_0030fe48;
          var_13 = var_77[1];
          if (var_13 >> 0x18 != 0) {
            pcVar20 = (char *)var_45("Invalid/unrecognized reloc reloc %d.");
                    /* try { // try from 0030fb3d to 0030fb59 has its CatchHandler @ 00310922 */
            gold::var_60(pcVar20,(type_12)(var_13 >> 0x18));
                    /* WARNING: Subroutine does not return */
            gold::var_9
                      ("../../gold/aarch64-reloc-property.h",0xeb,"code_to_array_index");
          }
          if (aarch64_reloc_property_table->table_[0] == (type_23 *)0x0) {
                    /* try { // try from 003104dd to 003104e1 has its CatchHandler @ 00310922 */
            gold::AArch64_reloc_property_table::var_61
                      (&reloc_name,aarch64_reloc_property_table,0);
            _Var31 = reloc_name._M_dataplus;
            pcVar20 = (char *)var_45("cannot relocate %s in object file");
            var_13 = *var_77;
            var_72 = var_78;
                    /* try { // try from 00310510 to 00310514 has its CatchHandler @ 0031091a */
            gold::var_46<32,var_32>
                      (relinfo,(size_t)var_78,
                       (type_12)(var_13 >> 0x18 | (var_13 & 0xff0000) >> 8 | (var_13 & 0xff00) << 8 |
                              var_13 << 0x18),pcVar20,_Var31._M_p);
            if ((anon_union_16_2_edb7204a_for_basic_string<var_57,var_25::char_traits<var_57>,var_25::var_56<var_57>var_26>var_58
                 *)reloc_name._M_dataplus._M_p != &reloc_name.field_2) {
              var_50(reloc_name._M_dataplus._M_p);
            }
          }
          else {
            var_72 = (type_4 *)0x0;
            pSVar7 = relinfo->object;
            var_7._8_4_ = 0x80000000;
            var_7.output_symtab_index_ = 0;
            var_7.output_dynsym_index_ = 0xffffffff;
            var_7.u_.value = 0;
            if (var_27 == (type_4 *)0x0) {
              if ((pSVar38->field_0xb & 0x40) != 0) {
                var_13 = ((var_13 & 0xff0000) >> 8 | (var_13 & 0xff00) << 8 | var_13 << 0x18) >> 8;
                var_72 = (type_4 *)(type_12)var_13;
                this_00 = pSVar7;
                    /* try { // try from 00310475 to 003104bc has its CatchHandler @ 00310944 */
                var_38 = var_24::var_1<32,var_32>::var_62(pSVar7,var_13);
                if (var_38) {
                  var_63 = this->plt_;
                  if (var_63 == (var_2<32,var_32> *)0x0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 003108c5 to 003108c9 has its CatchHandler @ 00310944 */
                    var_64((var_65<32,var_32> *)this_00);
                  }
                  if (((var_63->super_Output_section_data).super_Output_data.field_0x20 & 1) == 0)
                  {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 003108a8 to 003108ac has its CatchHandler @ 00310944 */
                    gold::var_9("../../gold/output.h",0xc5,"address");
                  }
                  uVar22 = (var_63->super_Output_section_data).super_Output_data.address_;
                  var_29 = var_63->count_;
                  var_72 = (type_4 *)(type_12)var_13;
                  var_66 = (*(pSVar7->super_Sized_relobj<32,var_32>).super_Relobj.super_Object.
                             _vptr_Object[0x2a])(pSVar7);
                  var_7.u_.value = (int)uVar22 + 0x20 + var_29 * 0x10 + var_66;
                }
              }
            }
            else {
              var_13 = aarch64_reloc_property_table->table_[0]->reference_flags_;
              var_72 = (type_4 *)(type_12)var_13;
                    /* try { // try from 003100df to 00310101 has its CatchHandler @ 00310944 */
              var_38 = var_24::Symbol::var_67((type_20 *)var_27,var_13);
              if (var_38) {
                if (this->plt_ == (var_2<32,var_32> *)0x0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00310800 to 00310804 has its CatchHandler @ 00310944 */
                  var_64((var_65<32,var_32> *)0x0);
                }
                var_72 = var_27;
                uVar22 = var_2<32,var_32>::var_68
                                   (this->plt_,(type_20 *)var_27);
                var_7.u_.value = (type_21)uVar22;
              }
            }
            gold::var_4<32>::~var_4(&var_7,(int)var_72);
          }
          var_66 = (int)var_72;
          if (var_27 != (type_4 *)0x0) {
            var_12 = *(type_6 *)((long)&(var_27->help_initializer_).super_Struct_special.option.
                                      helpstring + 2);
            var_71 = var_12 & 7;
            if ((var_12 & 7) == 0) {
              if ((*(int *)&(var_27->help_initializer_).super_Struct_special.option.longname.
                            field_2 != 0) ||
                 (((type_12)(var_27->help_initializer_).super_Struct_special.option.helpstring &
                  0x20000000) == 0)) {
                var_69 = *(type_3 **)(*(long *)(var_27->help_initializer_).super_Struct_special.
                                             option.longname._M_string_length + 0x28);
                if (var_69 != var_24::Object::do_pluginobj) {
                  var_36 = (*var_69)();
                  var_66 = (int)var_72;
                  if (var_36 != 0) {
                    var_12 = *(type_6 *)((long)&(var_27->help_initializer_).super_Struct_special.
                                              option.helpstring + 2);
                    var_71 = var_12 & 7;
                    if ((var_12 & 7) == 0) {
                      var_13 = *(type_7 *)&(var_27->help_initializer_).super_Struct_special.option.
                                         longname.field_2;
                      var_72 = (type_4 *)(type_12)var_13;
                      var_70 = *(type_6 *)((long)&(var_27->help_initializer_).super_Struct_special.
                                               option.helpstring + 3);
                      if ((var_13 == 0) && ((var_70 & 0x20) != 0)) goto LAB_0031020c;
                      if ((char)var_70 < '\0') goto LAB_003105b8;
                      goto LAB_00310305;
                    }
                    if (var_71 == 4) goto LAB_0031020c;
                    if (-1 < *(char *)((long)&(var_27->help_initializer_).super_Struct_special.
                                              option.helpstring + 3)) goto LAB_00310305;
                    var_71 = *(type_6 *)((long)&(var_27->help_initializer_).super_Struct_special.
                                              option.helpstring + 1);
                    if ((var_71 & 3) == 0) goto LAB_003101c0;
                    goto LAB_0031026d;
                  }
                  goto LAB_00310438;
                }
LAB_0031015a:
                var_70 = *(type_6 *)((long)&(var_27->help_initializer_).super_Struct_special.option.
                                         helpstring + 1);
                var_12 = var_12 & 7;
                var_71 = var_70 & 3;
                if ((var_70 & 3) == 0) goto LAB_003101c0;
LAB_00310166:
                if (((*(int *)&(var_27->help_initializer_).super_Struct_special.option.longname.
                               field_2 == 0) &&
                    (((type_12)(var_27->help_initializer_).super_Struct_special.option.helpstring &
                     0x20000000) != 0)) &&
                   ((*(type_6 *)&(var_27->help_initializer_).super_Struct_special.option.helpstring
                     >> 4 != 2 &&
                    (((type_12)(var_27->help_initializer_).super_Struct_special.option.helpstring &
                     0x200000000) == 0)))) {
LAB_00310293:
                  if (var_24::parameters->options_ == (type_4 *)0x0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 003108dd to 003108e1 has its CatchHandler @ 00310922 */
                    gold::var_9("../../gold/parameters.h",0x5c,"options");
                  }
                  if ((var_24::parameters->options_->weak_unresolved_symbols_).value != false) {
                    if (var_12 != 0) goto LAB_003101c0;
                    goto LAB_00310177;
                  }
                }
                else {
LAB_00310177:
                  if ((*(type_6 *)((var_27->help_initializer_).super_Struct_special.option.longname.
                                 _M_string_length + 0x3c) & 1) == 0) goto LAB_003101c0;
                }
                if (var_71 == 2) {
                  uVar23 = var_45("hidden");
                }
                else if (var_71 < 3) {
                  if (var_71 != 1) {
                    /* WARNING: Subroutine does not return */
                    gold::var_9("../../gold/target-reloc.h",0xa4,"visibility_error");
                  }
                  uVar23 = var_45("internal");
                }
                else {
                  uVar23 = var_45("protected");
                }
                pp_Var2 = (var_27->help_initializer_).super_Struct_special.super_Struct_var.
                          _vptr_Struct_var;
                pcVar20 = (char *)var_45("%s symbol \'%s\' is not defined locally");
                    /* try { // try from 003101b4 to 0031042c has its CatchHandler @ 00310922 */
                gold::var_60(pcVar20,uVar23,pp_Var2);
                var_66 = (int)uVar23;
                goto LAB_003101c0;
              }
LAB_0031020c:
              if ((*(type_6 *)&(var_27->help_initializer_).super_Struct_special.option.helpstring >>
                   4 == 2) ||
                 (((type_12)(var_27->help_initializer_).super_Struct_special.option.helpstring &
                  0x200000000) != 0)) {
LAB_00310438:
                var_66 = (int)var_72;
                var_71 = *(type_6 *)((long)&(var_27->help_initializer_).super_Struct_special.option.
                                          helpstring + 1) & 3;
LAB_0031043f:
                if (var_71 == 0) goto LAB_003101c0;
                var_12 = *(type_6 *)((long)&(var_27->help_initializer_).super_Struct_special.option.
                                          helpstring + 2) & 7;
                if (var_12 != 0) goto LAB_00310270;
                goto LAB_00310166;
              }
              var_72 = var_24::parameters->options_;
              if (var_72 == (type_4 *)0x0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00310878 to 0031087c has its CatchHandler @ 00310922 */
                gold::var_9("../../gold/parameters.h",0x5c,"options");
              }
              if ((var_72->weak_unresolved_symbols_).value != false) goto LAB_00310438;
              if (*(char *)((long)&(var_27->help_initializer_).super_Struct_special.option.
                                   helpstring + 3) < '\0') {
                if (var_71 != 0) goto LAB_00310260;
LAB_003105b8:
                var_66 = (int)var_72;
                var_69 = *(type_3 **)(*(long *)(var_27->help_initializer_).super_Struct_special.
                                             option.longname._M_string_length + 0x28);
                if (var_69 == var_24::Object::do_pluginobj) goto LAB_0031015a;
                    /* try { // try from 003105cc to 003105cd has its CatchHandler @ 00310922 */
                var_36 = (*var_69)();
                if (var_36 == 0) goto LAB_00310438;
              }
LAB_00310305:
              var_66 = (int)var_72;
              if (var_24::parameters->target_ == (type_24 *)0x0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00310818 to 0031084c has its CatchHandler @ 00310922 */
                gold::var_9("../../gold/parameters.h",0x69,"target");
              }
              p_Var3 = var_24::parameters->target_->_vptr_Target[7];
              if (p_Var3 != var_24::type_24::do_is_defined_by_abi) {
                var_72 = var_27;
                iVar18 = (*p_Var3)();
                var_66 = (int)var_72;
                if ((char)iVar18 != '\0') goto LAB_00310438;
              }
              var_73 = var_24::parameters->options_;
              if (var_73 == (type_4 *)0x0) {
                    /* WARNING: Subroutine does not return */
                gold::var_9("../../gold/parameters.h",0x5c,"options");
              }
              var_74 = (type_4 *)(var_73->unresolved_symbols_).value;
              var_38 = false;
              var_40 = var_74 == (type_4 *)0x0;
              if (var_40) {
                var_71 = *(type_6 *)((long)&(var_27->help_initializer_).super_Struct_special.option.
                                          helpstring + 1) & 3;
LAB_003103c9:
                if ((var_71 == 2) ||
                   (((var_73->shared_).value == false || ((var_73->defs_).value != false))))
                goto LAB_003103e1;
                goto LAB_0031043f;
              }
              var_36 = 0xb;
              pGVar33 = var_74;
              var_37 = (type_6 *)"ignore-all";
              do {
                var_72 = pGVar33;
                if (var_36 == 0) break;
                var_36 = var_36 + -1;
                var_72 = (type_4 *)((long)pGVar33 + (type_12)bVar41 * -2 + 1);
                var_12 = *(type_6 *)&(pGVar33->help_initializer_).super_Struct_special.
                                   super_Struct_var._vptr_Struct_var;
                var_38 = var_12 < *var_37;
                var_40 = var_12 == *var_37;
                pGVar33 = var_72;
                var_37 = var_37 + (type_12)bVar41 * -2 + 1;
              } while (var_40);
              var_39 = false;
              var_38 = (!var_38 && !var_40) == var_38;
              if (var_38) goto LAB_00310438;
              var_36 = 0xb;
              var_72 = var_74;
              var_37 = (type_6 *)"report-all";
              do {
                if (var_36 == 0) break;
                var_36 = var_36 + -1;
                var_12 = *(type_6 *)&(var_72->help_initializer_).super_Struct_special.
                                   super_Struct_var._vptr_Struct_var;
                var_39 = var_12 < *var_37;
                var_38 = var_12 == *var_37;
                var_72 = (type_4 *)((long)var_72 + (type_12)bVar41 * -2 + 1);
                var_37 = var_37 + (type_12)bVar41 * -2 + 1;
              } while (var_38);
              var_40 = false;
              var_38 = (!var_39 && !var_38) == var_39;
              if (!var_38) {
                var_36 = 0x17;
                var_72 = var_74;
                var_37 = (type_6 *)"ignore-in-object-files";
                do {
                  pGVar33 = var_72;
                  if (var_36 == 0) break;
                  var_36 = var_36 + -1;
                  pGVar33 = (type_4 *)((long)var_72 + (type_12)bVar41 * -2 + 1);
                  var_12 = *(type_6 *)&(var_72->help_initializer_).super_Struct_special.
                                     super_Struct_var._vptr_Struct_var;
                  var_40 = var_12 < *var_37;
                  var_38 = var_12 == *var_37;
                  var_72 = pGVar33;
                  var_37 = var_37 + (type_12)bVar41 * -2 + 1;
                } while (var_38);
                var_66 = (int)pGVar33;
                var_71 = *(type_6 *)((long)&(var_27->help_initializer_).super_Struct_special.option.
                                          helpstring + 1) & 3;
                var_38 = (!var_40 && !var_38) == var_40;
                if ((!var_38) ||
                   (var_38 = ((type_12)(var_27->help_initializer_).super_Struct_special.option.
                                     helpstring & 0x1000000) == 0, !var_38)) {
                  var_40 = false;
                  var_36 = 0x16;
                  var_37 = (type_6 *)"ignore-in-shared-libs";
                  do {
                    var_72 = var_74;
                    if (var_36 == 0) break;
                    var_36 = var_36 + -1;
                    var_72 = (type_4 *)((long)var_74 + (type_12)bVar41 * -2 + 1);
                    var_12 = *(type_6 *)&(var_74->help_initializer_).super_Struct_special.
                                       super_Struct_var._vptr_Struct_var;
                    var_40 = var_12 < *var_37;
                    var_38 = var_12 == *var_37;
                    var_74 = var_72;
                    var_37 = var_37 + (type_12)bVar41 * -2 + 1;
                  } while (var_38);
                  var_66 = (int)var_72;
                  if (((!var_40 && !var_38) != var_40) ||
                     (*(char *)((long)&(var_27->help_initializer_).super_Struct_special.option.
                                       helpstring + 2) < '\0')) goto LAB_003103c9;
                }
                goto LAB_0031043f;
              }
LAB_003103e1:
              pRVar35 = relinfo;
              gold::var_75<32,var_32>
                        ((type_20 *)var_27,relinfo,(size_t)var_78,var_21);
              var_66 = (int)pRVar35;
              var_12 = *(type_6 *)((long)&(var_27->help_initializer_).super_Struct_special.option.
                                        helpstring + 3);
            }
            else {
              if (var_71 == 4) goto LAB_0031020c;
LAB_00310260:
              var_66 = (int)var_72;
              var_71 = *(type_6 *)((long)&(var_27->help_initializer_).super_Struct_special.option.
                                        helpstring + 1);
              if ((var_71 & 3) != 0) {
LAB_0031026d:
                var_71 = var_71 & 3;
                var_12 = var_12 & 7;
LAB_00310270:
                if (((var_12 == 4) &&
                    (*(type_6 *)&(var_27->help_initializer_).super_Struct_special.option.helpstring
                     >> 4 != 2)) &&
                   (var_12 = 4,
                   ((type_12)(var_27->help_initializer_).super_Struct_special.option.helpstring &
                   0x200000000) == 0)) goto LAB_00310293;
              }
LAB_003101c0:
              var_12 = *(type_6 *)((long)&(var_27->help_initializer_).super_Struct_special.option.
                                        helpstring + 3);
            }
            if ((var_12 & 4) != 0) {
              gold::Warnings::var_76<32,var_32>
                        (&relinfo->symtab->warnings_,(type_20 *)var_27,relinfo,(size_t)var_78,
                         var_21);
              var_66 = (int)var_27;
            }
          }
        }
        local_138 = &var_5;
        gold::var_4<32>::~var_4(&var_6,var_66);
        gold::var_4<32>::~var_4(local_138,var_66);
      }
      var_78 = (type_4 *)
                  ((long)&(var_78->help_initializer_).super_Struct_special.super_Struct_var.
                          _vptr_Struct_var + 1);
      var_77 = var_77 + 3;
    } while ((type_4 *)var_19 != var_78);
  }
  return;
}


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

void MASKED(long param_1,long *param_2,int param_3,uint *param_4,long param_5,
                 undefined8 param_6,char param_7,long param_8,uint param_9,ulong param_10,
                 long *param_11)

{
  uint uVar1;
  code *pcVar2;
  long *plVar3;
  char cVar4;
  byte bVar5;
  uint uVar6;
  int iVar7;
  int iVar8;
  undefined8 uVar9;
  undefined8 *puVar10;
  undefined8 uVar11;
  undefined8 uVar12;
  long lVar13;
  ulong uVar14;
  long lVar15;
  byte bVar16;
  uint uVar17;
  byte *pbVar18;
  byte *pbVar19;
  byte *pbVar20;
  uint uVar21;
  undefined8 *puVar22;
  long *plVar23;
  bool bVar24;
  bool bVar25;
  bool bVar26;
  byte bVar27;
  long local_148;
  ulong local_140;
  undefined8 *local_138;
  uint *local_120;
  uint local_ec;
  undefined1 local_e1;
  undefined1 local_e0 [4];
  int local_dc;
  undefined8 local_d8;
  uint local_d0;
  undefined4 local_c8;
  undefined8 local_b8;
  undefined4 local_b0;
  int local_a8;
  undefined8 local_98;
  undefined4 local_90;
  int local_88;
  char local_78;
  undefined7 uStack_77;
  undefined1 auStack_68 [16];
  byte *local_58 [2];
  byte abStack_48 [24];
  
  bVar27 = 0;
  if (param_3 != 4) {
                    /* WARNING: Subroutine does not return */
    FUN_00352af0("../../gold/aarch64.cc",0x1fca,"relocate_section");
  }
  plVar23 = (long *)param_2[2];
  if (param_7 != '\0') {
    lVar13 = FUN_003cfdd0(param_6,plVar23,(int)param_2[6]);
    if (lVar13 == 0) {
      plVar23 = (long *)param_2[2];
    }
    else {
      if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {
                    /* WARNING: Subroutine does not return */
        FUN_00352af0("../../gold/output.h",0xc5,"address");
      }
      if ((*(byte *)(lVar13 + 0x20) & 2) == 0) {
                    /* WARNING: Subroutine does not return */
        FUN_00352af0("../../gold/output.h",0xcf,"data_size");
      }
      uVar21 = (uint)*(ulong *)(lVar13 + 8);
      if ((uVar21 < param_9) ||
         (param_9 + param_10 < (*(ulong *)(lVar13 + 8) & 0xffffffff) + *(ulong *)(lVar13 + 0x10))) {
                    /* WARNING: Subroutine does not return */
        FUN_00352af0("../../gold/aarch64.cc",0x1fda,"relocate_section");
      }
      plVar23 = (long *)param_2[2];
      param_8 = param_8 + (ulong)(uVar21 - param_9);
      param_10 = *(ulong *)(lVar13 + 0x10);
    }
  }
  pcVar2 = *(code **)(*plVar23 + 0x118);
  if (pcVar2 == FUN_001a4ab0) {
    local_ec = (**(code **)(*plVar23 + 0x178))();
  }
  else {
    local_ec = (*pcVar2)(plVar23);
  }
  iVar8 = 0;
  local_148 = 0;
  local_120 = param_4;
  if (param_5 != 0) {
    do {
      uVar21 = *local_120;
      local_140 = (ulong)(uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |
                         uVar21 << 0x18);
      if ((param_7 == '\0') ||
         (local_140 = FUN_003cff80(param_6,param_2[2],(int)param_2[6],local_140),
         local_140 != 0xffffffffffffffff)) {
        local_d0 = 0x80000000;
        local_c8 = 0;
        uVar21 = local_120[1];
        local_d8 = 0xffffffff00000000;
        uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;
        if (uVar21 < local_ec) {
          if ((param_11 != (long *)0x0) &&
             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))
          {
LAB_0030fa33:
            iVar7 = *(int *)((long)puVar10 + 0x1c);
            uVar17 = iVar7 - 1;
            if (0xfffffffd < uVar17) goto LAB_0030fa42;
LAB_0030fcf0:
            if (uVar17 == 0xfffffffd) {
                    /* WARNING: Subroutine does not return */
              FUN_00352af0("../../gold/object.h",0x70d,"set_output_symtab_index");
            }
            local_d8 = CONCAT44(local_d8._4_4_,iVar7);
            goto LAB_0030fa4a;
          }
          if ((ulong)((plVar23[0x2d] - plVar23[0x2c] >> 3) * -0x5555555555555555) <= (ulong)uVar21)
          {
                    /* WARNING: Subroutine does not return */
            FUN_00352af0("../../gold/object.h",0x8c1,"local_symbol");
          }
          puVar22 = (undefined8 *)(plVar23[0x2c] + (ulong)uVar21 * 0x18);
          uVar1 = *(uint *)(puVar22 + 1);
          uVar6 = uVar1 & 0x7ffffff;
          uVar17 = uVar1 & 0x7ffffff;
          if (((*(byte *)((long)puVar22 + 0xb) & 8) == 0) || (uVar6 == 0)) {
LAB_0030fbb3:
            puVar10 = (undefined8 *)0x0;
            goto LAB_0030faa5;
          }
          if ((ulong)(plVar23[0xb] - plVar23[10] >> 3) <= (ulong)uVar6) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00310860 to 00310864 has its CatchHandler @ 0031092a */
            FUN_00352af0("../../gold/object.h",0x50b,"is_section_included");
          }
          if (*(long *)(plVar23[10] + (ulong)uVar6 * 8) != 0) goto LAB_0030fbb3;
          cVar4 = FUN_00443530(*param_2,plVar23,uVar1 & 0x7ffffff);
          puVar10 = (undefined8 *)0x0;
          if (cVar4 != '\0') {
            puVar10 = (undefined8 *)0x0;
            goto LAB_0030faa5;
          }
LAB_0030fd25:
          local_b0 = 0x80000000;
          local_b8 = 0xffffffff00000000;
          local_a8 = 0;
          if (*(code **)(*plVar23 + 0x80) == FUN_0022c990) {
                    /* try { // try from 0030fd86 to 0030fd8a has its CatchHandler @ 00310922 */
            FUN_0022c800(local_58,plVar23 + 0x1f);
          }
          else {
                    /* try { // try from 00310038 to 00310039 has its CatchHandler @ 00310922 */
            (**(code **)(*plVar23 + 0x80))(local_58,plVar23,(int)param_2[6]);
          }
          bVar24 = false;
          bVar26 = iVar8 == 0;
          if (bVar26) {
            lVar13 = 6;
            pbVar18 = local_58[0];
            pbVar19 = &DAT_00533552;
            do {
              if (lVar13 == 0) break;
              lVar13 = lVar13 + -1;
              bVar24 = *pbVar18 < *pbVar19;
              bVar26 = *pbVar18 == *pbVar19;
              pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;
              pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;
            } while (bVar26);
            bVar25 = false;
            bVar24 = (!bVar24 && !bVar26) == bVar24;
            if (!bVar24) {
              lVar13 = 7;
              pbVar18 = local_58[0];
              pbVar19 = (byte *)".zdebug";
              do {
                if (lVar13 == 0) break;
                lVar13 = lVar13 + -1;
                bVar25 = *pbVar18 < *pbVar19;
                bVar24 = *pbVar18 == *pbVar19;
                pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;
                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;
              } while (bVar24);
              bVar26 = false;
              bVar24 = (!bVar25 && !bVar24) == bVar25;
              if (!bVar24) {
                lVar13 = 0x11;
                pbVar18 = local_58[0];
                pbVar19 = (byte *)".gnu.linkonce.wi.";
                do {
                  if (lVar13 == 0) break;
                  lVar13 = lVar13 + -1;
                  bVar26 = *pbVar18 < *pbVar19;
                  bVar24 = *pbVar18 == *pbVar19;
                  pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;
                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;
                } while (bVar24);
                bVar25 = false;
                bVar24 = (!bVar26 && !bVar24) == bVar26;
                if (!bVar24) {
                  lVar13 = 5;
                  pbVar18 = local_58[0];
                  pbVar19 = (byte *)".line";
                  do {
                    if (lVar13 == 0) break;
                    lVar13 = lVar13 + -1;
                    bVar25 = *pbVar18 < *pbVar19;
                    bVar24 = *pbVar18 == *pbVar19;
                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;
                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;
                  } while (bVar24);
                  bVar26 = false;
                  bVar24 = (!bVar25 && !bVar24) == bVar25;
                  if (!bVar24) {
                    lVar13 = 5;
                    pbVar18 = local_58[0];
                    pbVar19 = (byte *)".stab";
                    do {
                      if (lVar13 == 0) break;
                      lVar13 = lVar13 + -1;
                      bVar26 = *pbVar18 < *pbVar19;
                      bVar24 = *pbVar18 == *pbVar19;
                      pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;
                      pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;
                    } while (bVar24);
                    bVar25 = false;
                    bVar24 = (!bVar26 && !bVar24) == bVar26;
                    if (!bVar24) {
                      lVar13 = 4;
                      pbVar18 = local_58[0];
                      pbVar19 = &DAT_0053357f;
                      do {
                        if (lVar13 == 0) break;
                        lVar13 = lVar13 + -1;
                        bVar25 = *pbVar18 < *pbVar19;
                        bVar24 = *pbVar18 == *pbVar19;
                        pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;
                        pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;
                      } while (bVar24);
                      bVar26 = false;
                      bVar24 = (!bVar25 && !bVar24) == bVar25;
                      if (!bVar24) {
                        lVar13 = 10;
                        pbVar18 = local_58[0];
                        pbVar19 = (byte *)".eh_frame";
                        do {
                          if (lVar13 == 0) break;
                          lVar13 = lVar13 + -1;
                          bVar26 = *pbVar18 < *pbVar19;
                          bVar24 = *pbVar18 == *pbVar19;
                          pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;
                          pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;
                        } while (bVar24);
                        bVar25 = false;
                        bVar24 = (!bVar26 && !bVar24) == bVar26;
                        if (!bVar24) {
                          lVar13 = 0x12;
                          pbVar18 = local_58[0];
                          pbVar19 = (byte *)".gcc_except_table";
                          do {
                            if (lVar13 == 0) break;
                            lVar13 = lVar13 + -1;
                            bVar25 = *pbVar18 < *pbVar19;
                            bVar24 = *pbVar18 == *pbVar19;
                            pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;
                            pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;
                          } while (bVar24);
                          if ((!bVar25 && !bVar24) != bVar25) goto LAB_0030ff50;
                        }
                        goto LAB_00310006;
                      }
                    }
                  }
                }
              }
            }
LAB_0030fdc0:
                    /* try { // try from 0030fdd2 to 0030fdd6 has its CatchHandler @ 00310912 */
            iVar8 = FUN_00397c50(plVar23,uVar17,local_58,&local_78);
            local_a8 = 0;
            if (local_78 != '\0') {
              local_a8 = iVar8 + *(int *)(puVar22 + 2);
            }
            iVar8 = 1;
          }
          else {
            if (iVar8 == 1) goto LAB_0030fdc0;
            if (iVar8 == 3) {
LAB_0030ff50:
              lVar13 = param_2[2];
              if (puVar10 == (undefined8 *)0x0) {
                    /* try { // try from 003105ee to 0031061d has its CatchHandler @ 00310912 */
                uVar9 = FUN_0039dd50(lVar13,uVar21);
                uVar11 = gettext(
                                "relocation refers to local symbol \"%s\" [%u], which is defined in a discarded section"
                                );
                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9,uVar21);
              }
              else {
                    /* try { // try from 0030ff70 to 0030ff74 has its CatchHandler @ 00310912 */
                FUN_004443d0(&local_78,puVar10);
                uVar9 = CONCAT71(uStack_77,local_78);
                uVar11 = gettext(
                                "relocation refers to global symbol \"%s\", which is defined in a discarded section"
                                );
                    /* try { // try from 0030ffa4 to 0030ffa8 has its CatchHandler @ 0031093c */
                FUN_0034aed0(param_2,local_148,local_140,uVar11,uVar9);
                if ((undefined1 *)CONCAT71(uStack_77,local_78) != auStack_68) {
                  FUN_0049e340();
                }
              }
                    /* try { // try from 0030ffd1 to 0030ffd5 has its CatchHandler @ 00310912 */
              iVar8 = FUN_0039d3c0(lVar13,uVar21,local_e0,&local_e1);
              if (iVar8 != 0) {
                    /* try { // try from 00310544 to 0031057d has its CatchHandler @ 00310912 */
                lVar15 = FUN_00397ec0(lVar13,iVar8,&local_dc);
                if (local_dc != 0) {
                    /* try { // try from 00310725 to 00310745 has its CatchHandler @ 00310912 */
                  uVar9 = FUN_0039dd50(lVar13);
                  uVar11 = gettext("  section group signature: \"%s\"");
                  FUN_0034a8b0(uVar11,uVar9);
                }
                if (lVar15 != 0) {
                  uVar9 = *(undefined8 *)(lVar15 + 8);
                  uVar11 = gettext("  prevailing definition is from %s");
                  FUN_0034a8b0(uVar11,uVar9);
                }
              }
              iVar8 = 3;
            }
            else {
LAB_00310006:
              iVar8 = 2;
            }
            local_a8 = 0;
          }
          if ((int)local_b8 != 0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00310794 to 00310798 has its CatchHandler @ 00310912 */
            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");
          }
          local_b8 = CONCAT44(local_b8._4_4_,0xffffffff);
          if (local_58[0] != abStack_48) {
            FUN_0049e340();
          }
          puVar22 = &local_b8;
          if (-1 < (long)local_140) goto LAB_0030fae5;
LAB_0030fe48:
          uVar9 = gettext("reloc has bad offset %zu");
                    /* try { // try from 0030fe68 to 0030fe6c has its CatchHandler @ 00310922 */
          FUN_0034aed0(param_2,local_148,local_140,uVar9,local_140);
        }
        else {
          if ((param_11 != (long *)0x0) &&
             (puVar10 = *(undefined8 **)(*param_11 + local_148 * 8), puVar10 != (undefined8 *)0x0))
          goto LAB_0030fa33;
          if (uVar21 < *(uint *)(plVar23 + 0x24)) {
LAB_003107a0:
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 003107b3 to 003107ff has its CatchHandler @ 0031092a */
            FUN_00352af0("../../gold/target-reloc.h",0x17f,"relocate_section");
          }
          uVar14 = (ulong)(uVar21 - *(uint *)(plVar23 + 0x24));
          if ((ulong)(plVar23[0x27] - plVar23[0x26] >> 3) <= uVar14) {
                    /* WARNING: Subroutine does not return */
            FUN_00352af0("../../gold/object.h",0x8ad,"global_symbol");
          }
          puVar10 = *(undefined8 **)(plVar23[0x26] + uVar14 * 8);
          if (puVar10 == (undefined8 *)0x0) goto LAB_003107a0;
          if ((*(byte *)((long)puVar10 + 0x3a) & 0x10) == 0) goto LAB_0030fa33;
                    /* try { // try from 0030fc40 to 0030fcb4 has its CatchHandler @ 0031092a */
          puVar10 = (undefined8 *)FUN_00443580(*param_2,puVar10);
          iVar7 = *(int *)((long)puVar10 + 0x1c);
          uVar17 = iVar7 - 1;
          if (uVar17 < 0xfffffffe) {
            if (((int)local_d8 != 0) && ((int)local_d8 != -2)) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 0031077c to 00310780 has its CatchHandler @ 0031092a */
              FUN_00352af0("../../gold/object.h",0x70c,"set_output_symtab_index");
            }
            goto LAB_0030fcf0;
          }
          if ((int)local_d8 != 0) {
                    /* WARNING: Subroutine does not return */
            FUN_00352af0("../../gold/object.h",0x716,"set_no_output_symtab_entry");
          }
LAB_0030fa42:
          local_d8 = CONCAT44(local_d8._4_4_,0xffffffff);
LAB_0030fa4a:
          local_c8 = *(undefined4 *)(puVar10 + 8);
          if ((*(byte *)(puVar10 + 7) & 0xf) == 6) {
            local_d0 = local_d0 | 0x20000000;
          }
          else if ((*(byte *)(puVar10 + 7) & 0xf) == 10) {
            local_d0 = local_d0 | 0x40000000;
          }
          if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') {
            if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 0) {
              if ((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) {
LAB_0030fd10:
                puVar22 = &local_d8;
                uVar17 = 0;
                goto LAB_0030fd25;
              }
            }
            else if ((*(byte *)((long)puVar10 + 0x3a) & 7) == 4) goto LAB_0030fd10;
          }
          puVar22 = &local_d8;
LAB_0030faa5:
          local_b0 = 0x80000000;
          local_b8 = 0xffffffff00000000;
          local_a8 = 0;
          if ((long)local_140 < 0) goto LAB_0030fe48;
LAB_0030fae5:
          if ((param_10 <= local_140) || (local_140 + param_8 == 0)) goto LAB_0030fe48;
          uVar21 = local_120[1];
          if (uVar21 >> 0x18 != 0) {
            uVar9 = gettext("Invalid/unrecognized reloc reloc %d.");
                    /* try { // try from 0030fb3d to 0030fb59 has its CatchHandler @ 00310922 */
            FUN_0034a750(uVar9,uVar21 >> 0x18);
                    /* WARNING: Subroutine does not return */
            FUN_00352af0("../../gold/aarch64-reloc-property.h",0xeb,"code_to_array_index");
          }
          if (*DAT_0067dff8 == 0) {
                    /* try { // try from 003104dd to 003104e1 has its CatchHandler @ 00310922 */
            FUN_0031d8d0(local_58,DAT_0067dff8,0);
            pbVar18 = local_58[0];
            uVar9 = gettext("cannot relocate %s in object file");
            uVar21 = *local_120;
                    /* try { // try from 00310510 to 00310514 has its CatchHandler @ 0031091a */
            FUN_0034aed0(param_2,local_148,
                         uVar21 >> 0x18 | (uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 |
                         uVar21 << 0x18,uVar9,pbVar18);
            if (local_58[0] != abStack_48) {
              FUN_0049e340();
            }
          }
          else {
            plVar3 = (long *)param_2[2];
            local_90 = 0x80000000;
            local_98 = 0xffffffff00000000;
            local_88 = 0;
            if (puVar10 == (undefined8 *)0x0) {
              if ((*(byte *)((long)puVar22 + 0xb) & 0x40) != 0) {
                uVar21 = ((uVar21 & 0xff0000) >> 8 | (uVar21 & 0xff00) << 8 | uVar21 << 0x18) >> 8;
                    /* try { // try from 00310475 to 003104bc has its CatchHandler @ 00310944 */
                cVar4 = FUN_00397bb0(plVar3,uVar21);
                if (cVar4 != '\0') {
                  lVar13 = *(long *)(param_1 + 0x28);
                  if (lVar13 == 0) {
                    /* try { // try from 003108c5 to 003108c9 has its CatchHandler @ 00310944 */
                    FUN_002ed4a0();
                    goto LAB_003108ca;
                  }
                  if ((*(byte *)(lVar13 + 0x20) & 1) == 0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 003108a8 to 003108ac has its CatchHandler @ 00310944 */
                    FUN_00352af0("../../gold/output.h",0xc5,"address");
                  }
                  uVar9 = *(undefined8 *)(lVar13 + 8);
                  iVar7 = *(int *)(lVar13 + 0x68);
                  local_88 = (**(code **)(*plVar3 + 0x150))(plVar3,uVar21);
                  local_88 = (int)uVar9 + 0x20 + iVar7 * 0x10 + local_88;
                }
              }
            }
            else {
                    /* try { // try from 003100df to 00310101 has its CatchHandler @ 00310944 */
              cVar4 = FUN_00228fa0(puVar10,*(undefined4 *)(*DAT_0067dff8 + 0x4c));
              if (cVar4 != '\0') {
                if (*(long *)(param_1 + 0x28) == 0) {
                    /* try { // try from 00310800 to 00310804 has its CatchHandler @ 00310944 */
                  FUN_002ed4a0();
                  goto LAB_00310805;
                }
                local_88 = FUN_002f9c90(*(long *)(param_1 + 0x28),puVar10);
              }
            }
            FUN_001a5bc0(&local_98);
          }
          if (puVar10 != (undefined8 *)0x0) {
            bVar16 = *(byte *)((long)puVar10 + 0x3a);
            bVar5 = bVar16 & 7;
            if ((bVar16 & 7) == 0) {
              if ((*(int *)(puVar10 + 3) != 0) || ((*(byte *)((long)puVar10 + 0x3b) & 0x20) == 0)) {
                if (*(code **)(*(long *)puVar10[2] + 0x28) != FUN_001a4aa0) {
                  lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();
                  if (lVar13 != 0) {
                    bVar16 = *(byte *)((long)puVar10 + 0x3a);
                    bVar5 = bVar16 & 7;
                    if ((bVar16 & 7) == 0) {
                      if ((*(int *)(puVar10 + 3) == 0) &&
                         ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)) goto LAB_0031020c;
                      if ((char)*(byte *)((long)puVar10 + 0x3b) < '\0') goto LAB_003105b8;
                      goto LAB_00310305;
                    }
                    if (bVar5 == 4) goto LAB_0031020c;
                    if (-1 < *(char *)((long)puVar10 + 0x3b)) goto LAB_00310305;
                    bVar5 = *(byte *)((long)puVar10 + 0x39);
                    if ((bVar5 & 3) == 0) goto LAB_003101c0;
                    goto LAB_0031026d;
                  }
                  goto LAB_00310438;
                }
LAB_0031015a:
                bVar16 = bVar16 & 7;
                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;
                if ((*(byte *)((long)puVar10 + 0x39) & 3) == 0) goto LAB_003101c0;
LAB_00310166:
                if (((*(int *)(puVar10 + 3) == 0) && ((*(byte *)((long)puVar10 + 0x3b) & 0x20) != 0)
                    ) && ((*(byte *)(puVar10 + 7) >> 4 != 2 &&
                          ((*(byte *)((long)puVar10 + 0x3c) & 2) == 0)))) {
LAB_00310293:
                  if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {
LAB_003108ca:
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 003108dd to 003108e1 has its CatchHandler @ 00310922 */
                    FUN_00352af0("../../gold/parameters.h",0x5c,"options");
                  }
                  if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') {
                    if (bVar16 != 0) goto LAB_003101c0;
                    goto LAB_00310177;
                  }
                }
                else {
LAB_00310177:
                  if ((*(byte *)(puVar10[2] + 0x3c) & 1) == 0) goto LAB_003101c0;
                }
                if (bVar5 == 2) {
                  uVar9 = gettext("hidden");
                }
                else if (bVar5 < 3) {
                  if (bVar5 != 1) {
                    /* WARNING: Subroutine does not return */
                    FUN_00352af0("../../gold/target-reloc.h",0xa4,"visibility_error");
                  }
                  uVar9 = gettext("internal");
                }
                else {
                  uVar9 = gettext("protected");
                }
                uVar11 = *puVar10;
                uVar12 = gettext("%s symbol \'%s\' is not defined locally");
                    /* try { // try from 003101b4 to 0031042c has its CatchHandler @ 00310922 */
                FUN_0034a750(uVar12,uVar9,uVar11);
                goto LAB_003101c0;
              }
LAB_0031020c:
              if ((*(byte *)(puVar10 + 7) >> 4 == 2) || ((*(byte *)((long)puVar10 + 0x3c) & 2) != 0)
                 ) {
LAB_00310438:
                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;
LAB_0031043f:
                if (bVar5 == 0) goto LAB_003101c0;
                bVar16 = *(byte *)((long)puVar10 + 0x3a) & 7;
                if (bVar16 != 0) goto LAB_00310270;
                goto LAB_00310166;
              }
              if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00310878 to 0031087c has its CatchHandler @ 00310922 */
                FUN_00352af0("../../gold/parameters.h",0x5c,"options");
              }
              if (*(char *)(*(long *)(PTR_DAT_0067cb08 + 0x10) + 0x7739) != '\0') goto LAB_00310438;
              if (*(char *)((long)puVar10 + 0x3b) < '\0') {
                if (bVar5 != 0) goto LAB_00310260;
LAB_003105b8:
                if (*(code **)(*(long *)puVar10[2] + 0x28) == FUN_001a4aa0) goto LAB_0031015a;
                    /* try { // try from 003105cc to 003105cd has its CatchHandler @ 00310922 */
                lVar13 = (**(code **)(*(long *)puVar10[2] + 0x28))();
                if (lVar13 == 0) goto LAB_00310438;
              }
LAB_00310305:
              plVar3 = *(long **)(PTR_DAT_0067cb08 + 0x18);
              if (plVar3 == (long *)0x0) {
LAB_00310805:
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00310818 to 0031084c has its CatchHandler @ 00310922 */
                FUN_00352af0("../../gold/parameters.h",0x69,"target");
              }
              if ((*(code **)(*plVar3 + 0x38) != FUN_001a49e0) &&
                 (cVar4 = (**(code **)(*plVar3 + 0x38))(plVar3,puVar10), cVar4 != '\0'))
              goto LAB_00310438;
              lVar13 = *(long *)(PTR_DAT_0067cb08 + 0x10);
              if (lVar13 == 0) {
                    /* WARNING: Subroutine does not return */
                FUN_00352af0("../../gold/parameters.h",0x5c,"options");
              }
              pbVar18 = *(byte **)(lVar13 + 0x6c40);
              bVar24 = false;
              bVar26 = pbVar18 == (byte *)0x0;
              if (bVar26) {
                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;
LAB_003103c9:
                if ((bVar5 == 2) ||
                   ((*(char *)(lVar13 + 0x2a61) == '\0' || (*(char *)(lVar13 + 0x7f71) != '\0'))))
                goto LAB_003103e1;
                goto LAB_0031043f;
              }
              lVar15 = 0xb;
              pbVar19 = pbVar18;
              pbVar20 = (byte *)"ignore-all";
              do {
                if (lVar15 == 0) break;
                lVar15 = lVar15 + -1;
                bVar24 = *pbVar19 < *pbVar20;
                bVar26 = *pbVar19 == *pbVar20;
                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;
                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;
              } while (bVar26);
              bVar25 = false;
              bVar24 = (!bVar24 && !bVar26) == bVar24;
              if (bVar24) goto LAB_00310438;
              lVar15 = 0xb;
              pbVar19 = pbVar18;
              pbVar20 = (byte *)"report-all";
              do {
                if (lVar15 == 0) break;
                lVar15 = lVar15 + -1;
                bVar25 = *pbVar19 < *pbVar20;
                bVar24 = *pbVar19 == *pbVar20;
                pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;
                pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;
              } while (bVar24);
              bVar26 = false;
              bVar24 = (!bVar25 && !bVar24) == bVar25;
              if (!bVar24) {
                lVar15 = 0x17;
                pbVar19 = pbVar18;
                pbVar20 = (byte *)"ignore-in-object-files";
                do {
                  if (lVar15 == 0) break;
                  lVar15 = lVar15 + -1;
                  bVar26 = *pbVar19 < *pbVar20;
                  bVar24 = *pbVar19 == *pbVar20;
                  pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;
                  pbVar20 = pbVar20 + (ulong)bVar27 * -2 + 1;
                } while (bVar24);
                bVar5 = *(byte *)((long)puVar10 + 0x39) & 3;
                bVar24 = (!bVar26 && !bVar24) == bVar26;
                if ((!bVar24) || (bVar24 = (*(byte *)((long)puVar10 + 0x3b) & 1) == 0, !bVar24)) {
                  bVar26 = false;
                  lVar15 = 0x16;
                  pbVar19 = (byte *)"ignore-in-shared-libs";
                  do {
                    if (lVar15 == 0) break;
                    lVar15 = lVar15 + -1;
                    bVar26 = *pbVar18 < *pbVar19;
                    bVar24 = *pbVar18 == *pbVar19;
                    pbVar18 = pbVar18 + (ulong)bVar27 * -2 + 1;
                    pbVar19 = pbVar19 + (ulong)bVar27 * -2 + 1;
                  } while (bVar24);
                  if (((!bVar26 && !bVar24) != bVar26) || (*(char *)((long)puVar10 + 0x3a) < '\0'))
                  goto LAB_003103c9;
                }
                goto LAB_0031043f;
              }
LAB_003103e1:
              FUN_0034b9f0(puVar10,param_2,local_148,local_140);
              bVar16 = *(byte *)((long)puVar10 + 0x3b);
            }
            else {
              if (bVar5 == 4) goto LAB_0031020c;
LAB_00310260:
              bVar5 = *(byte *)((long)puVar10 + 0x39);
              if ((bVar5 & 3) != 0) {
LAB_0031026d:
                bVar5 = bVar5 & 3;
                bVar16 = bVar16 & 7;
LAB_00310270:
                if (((bVar16 == 4) && (*(byte *)(puVar10 + 7) >> 4 != 2)) &&
                   (bVar16 = 4, (*(byte *)((long)puVar10 + 0x3c) & 2) == 0)) goto LAB_00310293;
              }
LAB_003101c0:
              bVar16 = *(byte *)((long)puVar10 + 0x3b);
            }
            if ((bVar16 & 4) != 0) {
              FUN_00446c20(*param_2 + 0x1e0,puVar10,param_2,local_148,local_140);
            }
          }
        }
        local_138 = &local_d8;
        FUN_001a5bc0(&local_b8);
        FUN_001a5bc0(local_138);
      }
      local_148 = local_148 + 1;
      local_120 = local_120 + 3;
    } while (param_5 != local_148);
  }
  return;
}

